Tag: DevOps

  • Elasticsearch 101: Fundamentals & Core Components

    Elasticsearch is currently the most popular way to implement free text search and analytics in applications. It is highly scalable and can easily manage petabytes of data. It supports a variety of use cases like allowing users to easily search through any portal, collect and analyze log data, build business intelligence dashboards to quickly analyze and visualize data.  

    This blog acts as an introduction to Elasticsearch and covers the basic concepts of clusters, nodes, index, document and shards.

    What is Elasticsearch?

    Elasticsearch (ES) is a combination of open-source, distributed, highly scalable data store, and Lucene – a search engine that supports extremely fast full-text search. It is a beautifully crafted software, which hides the internal complexities and provides full-text search capabilities with simple REST APIs. Elasticsearch is written in Java with Apache Lucene at its core. It should be clear that Elasticsearch is not like a traditional RDBMS. It is not suitable for your transactional database needs, and hence, in my opinion, it should not be your primary data store. It is a common practice to use a relational database as the primary data store and inject only required data into Elasticsearch.

    Elasticsearch is meant for fast text search. There are several functionalities, which make it different from RDBMS. Unlike RDBMS, Elasticsearch stores data in the form of a JSON document, which is denormalized and doesn’t support transactions, referential integrity, joins, and subqueries.

    Elasticsearch works with structured, semi-structured, and unstructured data as well. In the next section, let’s walk through the various components in Elasticsearch.

    Elasticsearch Components

    Cluster

    One or more servers collectively providing indexing and search capabilities form an Elasticsearch cluster. The cluster size can vary from a single node to thousands of nodes, depending on the use cases.

    Node

    Node is a single physical or virtual machine that holds full or part of your data and provides computing power for indexing and searching your data. Every node is identified with a unique name. If the node identifier is not specified, a random UUID is assigned as a node identifier at the startup. Every node configuration has the property `cluster.name`. The cluster will be formed automatically with all the nodes having the same `cluster.name` at startup.

    A node has to accomplish several duties such as:

    • storing the data
    • performing operations on data (indexing, searching, aggregation, etc.)
    • maintaining the health of the cluster

    Each node in a cluster can do all these operations. Elasticsearch provides the capability to split responsibilities across different nodes. This makes it easy to scale, optimize, and maintain the cluster. Based on the responsibilities, the following are the different types of nodes that are supported:

    Data Node

    Data node is the node that has storage and computation capability. Data node stores the part of data in the form of shards (explained in the later section). Data nodes also participate in the CRUD, search, and aggregate operations. These operations are resource-intensive, and hence, it is a good practice to have dedicated data nodes without having the additional load of cluster administration. By default, every node of the cluster is a data node.

    Master Node

    Master nodes are reserved to perform administrative tasks. Master nodes track the availability/failure of the data nodes. The master nodes are responsible for creating and deleting the indices (explained in the later section).

    This makes the master node a critical part of the Elasticsearch cluster. It has to be stable and healthy. A single master node for a cluster is certainly a single point of failure. Elasticsearch provides the capability to have multiple master-eligible nodes. All the master eligible nodes participate in an election to elect a master node. It is recommended to have a minimum of three nodes in the cluster to avoid a split-brain situation. By default, all the nodes are both data nodes as well as master nodes. However, some nodes can be master-eligible nodes only through explicit configuration.

    Coordinating-Only Node

    Any node, which is not a master node or a data node, is a coordinating node. Coordinating nodes act as smart load balancers. Coordinating nodes are exposed to end-user requests. It appropriately redirects the requests between data nodes and master nodes.

    To take an example, a user’s search request is sent to different data nodes. Each data node searches locally and sends the result back to the coordinating node. Coordinating node aggregates and returns the result to the user.

    There are a few concepts that are core to Elasticsearch. Understanding these basic concepts will tremendously ease the learning process.

    Index

    Index is a container to store data similar to a database in the relational databases. An index contains a collection of documents that have similar characteristics or are logically related. If we take an example of an e-commerce website, there will be one index for products, one for customers, and so on. Indices are identified by the lowercase name. The index name is required to perform the add, update, and delete operations on the documents.

    Type

    Type is a logical grouping of the documents within the index. In the previous example of product index, we can further group documents into types, like electronics, fashion, furniture, etc. Types are defined on the basis of documents having similar properties in it. It isn’t easy to decide when to use the type over the index. Indices have more overheads, so sometimes, it is better to use different types in the same index for better performance. There are a couple of restrictions to use types as well. For example, two fields having the same name in different types of documents should be of the same datatype (string, date, etc.).

    Document

    Document is the piece indexed by Elasticsearch. A document is represented in the JSON format. We can add as many documents as we want into an index. The following snippet shows how to create a document of type mobile in the index store. We will cover more about the individual field of the document in the Mapping Type section.

    HTTP POST <hostname:port>/store/mobile/
    {    
    "name": "Motorola G5",    
    "model": "XT3300",    
    "release_date": "2016-01-01",    
    "features": "16 GB ROM | Expandable Upto 128 GB | 5.2 inch Full HD Display | 12MP Rear Camera | 5MP Front Camera | 3000 mAh Battery | Snapdragon 625 Processor",    
    "ram_gb": "3",    
    "screen_size_inches": "5.2"
    }

    Mapping Types

    To create different types in an index, we need mapping types (or simply mapping) to be specified during index creation. Mappings can be defined as a list of directives given to Elasticseach about how the data is supposed to be stored and retrieved. It is important to provide mapping information at the time of index creation based on how we want to retrieve our data later. In the context of relational databases, think of mappings as a table schema.

    Mapping provides information on how to treat each JSON field. For example, the field can be of type date, geolocation, or person name. Mappings also allow specifying which fields will participate in the full-text search, and specify the analyzers used to transform and decorate data before storing into an index. If no mapping is provided, Elasticsearch tries to identify the schema itself, known as Dynamic Mapping. 

    Each mapping type has Meta Fields and Properties. The snippet below shows the mapping of the type mobile.

    {    
    "mappings": {        
      "mobile": {            
        "properties": {                
          "name": {                    
            "type": "keyword"                
          },                
            "model": {                    
              "type": "keyword"                
           },               
              "release_date": {                    
                "type": "date"                
           },                
                "features": {                    
                  "type": "text"               
             },                
                "ram_gb": {                    
                  "type": "short"                
              },                
                  "screen_size_inches": {                    
                    "type": "float"                
              }            
            }        
          }    
       }
    }

    Meta Fields

    As the name indicates, meta fields stores additional information about the document. Meta fields are meant for mostly internal usage, and it is unlikely that the end-user has to deal with meta fields. Meta field names starts with an underscore. There are around ten meta fields in total. We will talk about some of them here:

    _index

    It stores the name of the index document it belongs to. This is used internally to store/search the document within an index.

    _type

    It stores the type of the document. To get better performance, it is often included in search queries.

    _id

    This is the unique id of the document. It is used to access specific document directly over the HTTP GET API.

    _source

    This holds the original JSON document before applying any analyzers/transformations. It is important to note that Elasticsearch can query on fields that are indexed (provided mapping for). The _source field is not indexed, and hence, can’t be queried on but it can be included in the final search result.

    Fields Or Properties

    List of fields specifies which all JSON fields in the document should be included in a particular type. In the e-commerce website example, mobile can be a type. It will have fields, like operating_system, camera_specification, ram_size, etc.

    Fields also carry the data type information with them. This directs Elasticsearch to treat the specific fields in a particular way of storing/searching data. Data types are similar to what we see in any other programming language. We will talk about a few of them here.

    Simple Data Types

    Text

    This data type is used to store full-text like product description. These fields participate in full-text search. These types of fields are analyzed while storing, which enables to searching them by the individual word in it. Such fields are not used in sorting and aggregation queries.

    Keywords

    This type is also used to store text data, but unlike Text, it is not analyzed and stored. This is suitable to store information like a user’s mobile number, city, age, etc. These fields are used in filter, aggregation, and sorting queries. For e.g., list all users from a particular city and filter them by age.

    Numeric

    Elasticsearch supports a wide range of numeric type: long, integer, short, byte, double, float.

    There are a few more data types to support date, boolean (true/false, on/off, 1/0), IP (to store IP addresses).

    Special Data Types

    Geo Point

    This data type is used to store geographical location. It accepts latitude and longitude pair. For example, this data type can be used to arrange the user’s photo library by their geographical location or graphically display the locations trending on social media news.

    Geo Shape

    It allows storing arbitrary geometric shapes like rectangle, polygon, etc.

    Completion Suggester

    This data type is used to provide auto-completion feature over a specific field. As the user types certain text, the completion suggester can guide the user to reach particular results.

    Complex Data Type

    Object

    If you know JSON well, this concept won’t be new for you. Elasticsearch also allows storing nested JSON object structure as a document.

    Nested

    The Object data type is not that useful due to its underlying data representation in the Lucene index. Lucene index does not support inner JSON object. ES flattens the original JSON to make it compatible with storing in Lucene index. Thus, fields of the multiple inner objects get merged into one leading object to wrong search results. Most of the time, you may use Nested data type over Object.

    Shards

    Shards help with enabling Elasticsearch to become horizontally scalable. An index can store millions of documents and occupy terabytes of data. This can cause problems with performance, scalability, and maintenance. Let’s see how Shards help achieve scalability.

    Indices are divided into multiple units called Shards (refer the diagram below). Shard is a full-featured subset of an index. Shards of the same index now can reside on the same or different nodes of the cluster. Shard decides the degree of parallelism for search and indexing operations. Shards allow the cluster to grow horizontally. The number of shards per index can be specified at the time of index creation. By default, the number of shards created is 5. Although, once the index is created the number of shards can not be changed. To change the number of shards, reindex the data.

    Replication

    Hardware can fail at any time. To ensure fault tolerance and high availability, ES provides a feature to replicate the data. Shards can be replicated. A shard which is being copied is called as Primary Shard. The copy of the primary shard is called a replica shard or simply replica. Like the number of shards, the number of replication can also be specified at the time of index creation. Replication served two purposes:

    • High Availability – Replica is never been created on the same node where the primary shard is present. This ensures that data can be available through the replica shard even if the complete node is failed.
    • Performance – Replica can also contribute to search capabilities. The search queries will be executed parallelly across the replicas.

    To summarize, to achieve high availability and performance, the index is split into multiple shards. In a production environment, multiple replicas are created for every index. In the replicated index, only primary shards can serve write requests. However, all the shards (the primary shard as well as replicated shards) can serve read/query requests. The replication factor is defined at the time of index creation and can be changed later if required. Choosing the number of shards is an important exercise. As once defined, it can’t be changed. In critical scenarios, changing the number of shards requires creating a new index with required shards and reindexing old data.

    Summary

    In this blog, we have covered the basic but important aspects of Elasticsearch. In the following posts, I will talk about how indexing & searching works in detail. Stay tuned!

  • Exploring Upgrade Strategies for Stateful Sets in Kubernetes

    Introduction

    In the age of continuous delivery and agility where the software is being deployed 10s of times per day and sometimes per hour as well using container orchestration platforms, a seamless upgrade mechanism becomes a critical aspect of any technology adoption, Kubernetes being no exception. 

    Kubernetes provides a variety of controllers that define how pods are set up and deployed within the Kubernetes cluster. These controllers can group pods together according to their runtime needs and can be used to define pod replication and pod startup ordering. Kubernetes controllers are nothing but an application pattern. The controller controls the pods(smallest unit in Kubernetes), so, you don’t need to create, manage and delete the pods. There are few types of controllers in Kubernetes like,

    1. Deployment
    2. Statefulset
    3. Daemonset
    4. Job
    5. Replica sets

    Each controller represents an application pattern. For example, Deployment represents the stateless application pattern in which you don’t store the state of your application. Statefulset represents the statefulset application pattern where you store the data, for example, databases, message queues.  We will be focusing on Statefulset controller and its update feature in this blog.

    Statefulset

    The StatefulSet acts as a controller in Kubernetes to deploy applications according to a specified rule set and is aimed towards the use of persistent and stateful applications. It is an ordered and graceful deployment. Statefulset is generally used with a distributed applications that require each node to have a persistent state and the ability to configure an arbitrary number of nodes. StatefulSet pods have a unique identity that is comprised of an ordinal, a stable network identity, and stable storage. The identity sticks to the pod, regardless of which node it’s scheduled on. For more details check here.

    Update Strategies FOR STATEFULSETS

    There are a couple of different strategies available for upgrades – Blue/Green and Rolling updates. Let’s review them in detail:

    Blue-Green DeploymentBlue-green deployment is one of the commonly used update strategies. There are 2 identical environments of your application in this strategy. One is the Blue environment which is running the current deployment and the Green environment is the new deployment to which we want to upgrade. The approach is simple:

    1. Switch the load balancer to route traffic to the Green environment.
    2. Delete the Blue environment once the Green environment is verified. 

    Disadvantages of Blue-Green deployment:

    1. One of the disadvantages of this strategy is that all current transactions and sessions will be lost, due to the physical switch from one machine serving the traffic to another one.
    2. Implementing blue-green deployment become complex with the database, especially if, the database schema changes across version.
    3. In blue-green deployment, you need the extra cloud setup/hardware which increases the overall costing.

    Rolling update strategy

    After Blue-Green deployment, let’s take a look at Rolling updates and how it works.

    1. In short, as the name suggests this strategy replaces currently running instances of the application with new instances, one by one. 
    2. In this strategy, health checks play an important role i.e. old instances of the application are removed only if new version are healthy. Due to this, the existing deployment becomes heterogeneous while moving from the old version of the application to new version. 
    3. The benefit of this strategy is that its incremental approach to roll out the update and verification happens in parallel while increasing traffic to the application.
    4. In rolling update strategy, you don’t need extra hardware/cloud setup and hence it’s cost-effective technique of upgrade.

    Statefulset upgrade strategies

    With the basic understanding of upgrade strategies, let’s explore the update strategies available for Stateful sets in Kubernetes. Statefulsets are used for databases where the state of the application is the crucial part of the deployment. We will take the example of Cassandra to learn about statefulset upgrade feature. We will use the gce-pd storage to store the data. StatefulSets(since Kubernetes 1.7) uses an update strategy to configure and disable automated rolling updates for containers, labels, resource request/limits, and annotations for its pods. The update strategy is configured using the updateStrategy field.

    The updateStrategy field accepts one of the following value 

    1. OnDelete
    2. RollingUpdate

    OnDelete update strategy

    OnDelete prevents the controller from automatically updating its pods. One needs to delete the pod manually for the changes to take effect. It’s more of a manual update process for the Statefulset application and this is the main difference between OnDelete and RollingUpdate strategy. OnDelete update strategy plays an important role where the user needs to perform few action/verification post the update of each pod. For example, after updating a single pod of Cassandra user might need to check if the updated pod joined the Cassandra cluster correctly.

    We will now create a Statefulset deployment first. Let’s take a simple example of Cassandra and deploy it using a Statefulset controller. Persistent storage is the key point in Statefulset controller. You can read more about the storage class here.

    For the purpose of this blog, we will use the Google Kubernetes Engine.

    • First, define the storage class as follows:
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: fast
    provisioner: kubernetes.io/gce-pd
    parameters:
      type: pd-ssd

    • Then create the Storage class using kubectl:
    $ kubectl create -f storage_class.yaml

    • Here is the YAML file for the Cassandra service and the Statefulset deployment.
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: cassandra
      name: cassandra
    spec:
      clusterIP: None
      ports:
      - port: 9042
      selector:
        app: cassandra
    ---
    apiVersion: apps/v1beta2
    kind: StatefulSet
    metadata:
      name: cassandra
      labels:
        app: cassandra
    spec:
      serviceName: cassandra
      replicas: 3
      updateStrategy:
        type: OnDelete
      selector:
        matchLabels:
          app: cassandra
      template:
        metadata:
          labels:
            app: cassandra
        spec:
          terminationGracePeriodSeconds: 1800
          containers:
          - name: cassandra
            image: gcr.io/google-samples/cassandra:v12
            imagePullPolicy: Always
            ports:
            - containerPort: 7000
              name: intra-node
            - containerPort: 7001
              name: tls-intra-node
            - containerPort: 7199
              name: jmx
            - containerPort: 9042
              name: cql
            resources:
              limits:
                cpu: "500m"
                memory: 1Gi
              requests:
               cpu: "500m"
               memory: 1Gi
            securityContext:
              capabilities:
                add:
                  - IPC_LOCK
            lifecycle:
              preStop:
                exec:
                  command: 
                  - /bin/sh
                  - -c
                  - nodetool drain
            env:
              - name: MAX_HEAP_SIZE
                value: 512M
              - name: HEAP_NEWSIZE
                value: 100M
              - name: CASSANDRA_SEEDS
                value: "cassandra-0.cassandra.default.svc.cluster.local"
              - name: CASSANDRA_CLUSTER_NAME
                value: "K8Demo"
              - name: CASSANDRA_DC
                value: "DC1-K8Demo"
              - name: CASSANDRA_RACK
                value: "Rack1-K8Demo"
              - name: POD_IP
                valueFrom:
                  fieldRef:
                    fieldPath: status.podIP
            readinessProbe:
              exec:
                command:
                - /bin/bash
                - -c
                - /ready-probe.sh
              initialDelaySeconds: 15
              timeoutSeconds: 5
            volumeMounts:
            - name: cassandra-data
              mountPath: /cassandra_data
      volumeClaimTemplates:
      - metadata:
          name: cassandra-data
        spec:
          accessModes: [ "ReadWriteOnce" ]
          storageClassName: "fast"
          resources:
            requests:
              storage: 5Gi

    • Let’s create the Statefulset now.
    $ kubectl create -f cassandra.yaml

    • After creating Cassandra Statefulset, if you check the running pods then you will find something like,
    $ kubectl get podsNAME READY STATUS RESTARTS AGE
    cassandra-0 1/1 Running 0 2m
    cassandra-1 1/1 Running 0 2m
    cassandra-2 1/1 Running 0 2m

    • Check if Cassandra cluster is formed correctly using following command:
    $ kubectl exec -it cassandra-0 -- nodetool statusDatacenter: DC1-K8Demo
    #ERROR!
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    
    Address Load Tokens Owns Host ID Rack
    UN 192.168.4.193 101.15 KiB 32 72.0% abd9f52d-85ef-44ee-863c-e1b174cd9412 Rack1-K8Demo
    UN 192.168.199.67 187.81 KiB 32 72.8% c40e89e4-44fe-4fc2-9e8a-863b6a74c90c Rack1-K8Demo
    UN 192.168.187.196 131.42 KiB 32 55.2% c235505c-eec5-43bc-a4d9-350858814fe5 Rack1-K8Demo

    • Let’s describe the running pod first before updating. Look for the image field in the output of the following command
    $ kubectl describe pod cassandra-0

    • The Image field will show gcr.io/google-samples/cassandra:v12 . Now, let’s patch the Cassandra statefulset with the latest image to which we want to update. The latest image might contain the new Cassandra version or database schema changes. Before upgrading such crucial components, it’s always safe to have the backup of the data,
    $ kubectl patch statefulset cassandra --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value":"gcr.io/google-samples/cassandra:v13"}]'

    You will see output as `statefulset.apps “cassandra” patched`, but controller won’t update the running pod automatically in this strategy. You need to delete the pods once and wait till pods with new configuration comes up. Let’s try deleting the cassandra-0 pod.

    $ kubectl delete pod cassandra-0

    • Wait till cassandra-0 comes up in running state and then check if the cassandra-0 is running with intended/updated image i.e. gcr.io/google-samples/cassandra:v13 Now, cassandra-0 is running the new image while cassandra-1 and cassandra-2 are still running the old image. You need to delete these pods for the new image to take effect in this strategy.

    Rolling update strategy

    Rolling update is an automated update process. In this, the controller deletes and then recreates each of its pods. Pods get updated one at a time. While updating, the controller makes sure that an updated pod is running and is in ready state before updating its predecessor. The pods in the StatefulSet are updated in reverse ordinal order(same as pod termination order i.e from the largest ordinal to the smallest)

    For the rolling update strategy, we will create the Cassandra statefulset with the .spec.updateStrategy field pointing to RollingUpdate

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: cassandra
      name: cassandra
    spec:
      clusterIP: None
      ports:
      - port: 9042
      selector:
        app: cassandra
    ---
    apiVersion: apps/v1beta2
    kind: StatefulSet
    metadata:
      name: cassandra
      labels:
        app: cassandra
    spec:
      serviceName: cassandra
      replicas: 3
      updateStrategy:
        type: RollingUpdate
      selector:
        matchLabels:
          app: cassandra
      template:
        metadata:
          labels:
            app: cassandra
        spec:
          terminationGracePeriodSeconds: 1800
          containers:
          - name: cassandra
            image: gcr.io/google-samples/cassandra:v12
            imagePullPolicy: Always
            ports:
            - containerPort: 7000
              name: intra-node
            - containerPort: 7001
              name: tls-intra-node
            - containerPort: 7199
              name: jmx
            - containerPort: 9042
              name: cql
            resources:
              limits:
                cpu: "500m"
                memory: 1Gi
              requests:
               cpu: "500m"
               memory: 1Gi
            securityContext:
              capabilities:
                add:
                  - IPC_LOCK
            lifecycle:
              preStop:
                exec:
                  command: 
                  - /bin/sh
                  - -c
                  - nodetool drain
            env:
              - name: MAX_HEAP_SIZE
                value: 512M
              - name: HEAP_NEWSIZE
                value: 100M
              - name: CASSANDRA_SEEDS
                value: "cassandra-0.cassandra.default.svc.cluster.local"
              - name: CASSANDRA_CLUSTER_NAME
                value: "K8Demo"
              - name: CASSANDRA_DC
                value: "DC1-K8Demo"
              - name: CASSANDRA_RACK
                value: "Rack1-K8Demo"
              - name: POD_IP
                valueFrom:
                  fieldRef:
                    fieldPath: status.podIP
            readinessProbe:
              exec:
                command:
                - /bin/bash
                - -c
                - /ready-probe.sh
              initialDelaySeconds: 15
              timeoutSeconds: 5
            volumeMounts:
            - name: cassandra-data
              mountPath: /cassandra_data
      volumeClaimTemplates:
      - metadata:
          name: cassandra-data
        spec:
          accessModes: [ "ReadWriteOnce" ]
          storageClassName: "fast"
          resources:
            requests:
              storage: 5Gi

    • To try the rolling update feature, we can patch the existing statefulset with the updated image.
    $ kubectl patch statefulset cassandra --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value":"gcr.io/google-samples/cassandra:v13"}]'

    • Once you execute the above command, monitor the output of the following command,
    $ kubectl get pods -w

    In the case of failure in update process, controller restores any pod that fails during the update to its current version i.e. pods that have already received the update will be restored to the updated version, and pods that have not yet received the update will be restored to the previous version.

    Partitioning a RollingUpdate (Staging an Update)

    The updateStrategy contains one more field for partitioning the RollingUpdate. If a partition is specified, all pods with an ordinal greater than or equal to that of the provided partition will be updated and the pods with an ordinal that is less than the partition will not be updated. If the pods with an ordinal value less than the partition get deleted, then those pods will get recreated with the old definition/version. This partitioning rolling update feature plays important role in the scenario where if you want to stage an update, roll out a canary, or perform a phased rollout.

    RollingUpdate supports partitioning option. You can define the partition parameter in the .spec.updateStrategy

    $ kubectl patch statefulset cassandra -p '{"spec":{"updateStrategy":{"type":"RollingUpdate","rollingUpdate":{"partition":2}}}}'

    In the above command, we are giving partition value as 2, which will patch the Cassandra statefulset in such a way that, whenever we try to update the Cassandra statefulset, it will update the cassandra-2 pod only. Let’s try to patch the updated image to existing statefulset.

    $ kubectl patch statefulset cassandra --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value":"gcr.io/google-samples/cassandra:v14"}]'

    After patching, watch the following command output,

    $ kubectl get pods -w

    You can keep decrementing the partition value and that many pods will keep taking the effect of the applied patch. For example, if you patch the statefulset with partition=0 then all the pods of the Cassandra statefulset will get updated with provided upgrade configuration.

    Verifying if the upgrade was successful

    Verifying the upgrade process of your application is the important step to conclude the upgrade. This step might differ as per the application. Here, in the blog we have taken the Cassandra example, so we will verify if the cluster of the Cassandra nodes is being formed properly.

    Use `nodetool status` command to verify the cluster. After upgrading all the pods, you might want to run some post-processing like migrating schema if your upgrade dictates that etc.

    As per the upgrade strategy, verification of your application can be done by following ways.

    1. In OnDelete update strategy, you can keep updating pod one by one and keep checking the application status to make sure the upgrade working fine.
    2. In RollingUpdate strategy, you can check the application status once all the running pods of your application gets upgraded.

    For Cassandra like application, OnDelete update is more preferred than RollingUpdate. In rolling update, we saw that Cassandra pod gets updated one by one, starting from high to low ordinal index. There might be the case where after updating 2 pods, Cassandra cluster might go in failed state but you can not recover it like the OnDelete strategy. You have to try to recover Cassandra once the complete upgrade is done i.e. once all the pods get upgraded to provided image. If you have to use the rolling update then try partitioning the rolling update.

    Conclusion

    In this blog, we went through the Kubernetes controllers and mainly through statefulsets. We learnt about the differences between blue-green deployment and rolling update strategies then we played with the Cassandra statefulset example and successfully upgraded it with update strategies like OnDelete and RollingUpdate. Do let us know if you have any questions, queries and additional thoughts in the comments section below.

  • Flannel: A Network Fabric for Containers

    Containers are a disruptive technology and is being adopted by startups and enterprises alike. Whenever a new infrastructure technology comes along, two areas require a lot of innovation – storage & networking. Anyone who is adopting containers would have faced challenges in these two areas.

    Flannel is an overlay network that helps to connect containers across multiple hosts. This blog provides an overview of container networking followed by details of Flannel.

    What is Docker?

    Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on software with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with repeatability for both Linux and Windows Server apps.

    Need for Container networking

    • Containers need to talk to the external world.
    • Containers should be reachable from the external world so that the external world can use the services that containers provide.
    • Containers need to talk to the host machine. An example can be getting memory usage of the underlying host.
    • There should be inter-container connectivity in the same host and across hosts. An example is a LAMP stack running Apache, MySQL and PHP in different containers across hosts.

    How Docker’s original networking works?

    Docker uses host-private networking. It creates a virtual bridge, called docker0 by default, and allocates a subnet from one of the private address blocks defined in RFC1918 for that bridge. For each container that Docker creates, it allocates a virtual ethernet device (called veth) which is attached to the bridge. The veth is mapped to appear as eth0 in the container, using Linux namespaces. The in-container eth0 interface is given an IP address from the bridge’s address range.

    Drawbacks of Docker networking

    Docker containers can talk to other containers only if they are on the same machine (and thus the same virtual bridge). Containers on different machines cannot reach each other – in fact they may end up with the exact same network ranges and IP addresses. This limits the system’s effectiveness on cloud platforms.

    In order for Docker containers to communicate across nodes, they must be allocated ports on the machine’s own IP address, which are then forwarded or peroxided to the containers. This obviously means that containers must either coordinate which ports they use very carefully or else be allocated ports dynamically.This approach obviously fails if container dies as the new container will get a new IP, breaking the proxy rules.

    Real world expectations from Docker

    Enterprises expect docker containers to be used in production grade systems, where each component of the application can run on different containers running across different grades of underlying hardware. All application components are not same and some of them may be resource intensive. It makes sense to run such resource intensive components on compute heavy physical servers and others on cost saving cloud virtual machines. It also expects Docker containers to be replicated on demand and the application load to be distributed across the replicas. This is where Google’s Kubernetes project fits in.

    What is Kubernetes?

    Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts, providing container-centric infrastructure. It provides portability for an application to run on public, private, hybrid, multi-cloud. It gives extensibility as it is modular, pluggable, hookable and composable. It also self heals by doing auto-placement, auto-restart, auto-replication, auto-scaling of application containers. Kubernetes does not provide a way for containers across nodes to communicate with each other, it assumes that each container (pod) has a unique, routable IP inside the cluster. To facilitate inter-container connectivity across nodes, any networking solution based on Pure Layer-3 or VxLAN or UDP model, can be used. Flannel is one such solution which provides an overlay network using UDP as well as VxLAN based model.

    Flannel: a solution for networking for Kubernetes

    Flannel is a basic overlay network that works by assigning a range of subnet addresses (usually IPv4 with a /24 or /16 subnet mask). An overlay network is a computer network that is built on top of another network. Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network.

    While flannel was originally designed for Kubernetes, it is a generic overlay network that can be used as a simple alternative to existing software defined networking solutions. More specifically, flannel gives each host an IP subnet (/24 by default) from which the Docker daemon is able to allocate IPs to the individual containers. Each address corresponds to a container, so that all containers in a system may reside on different hosts.

    It works by first configuring an overlay network, with an IP range and the size of the subnet for each host. For example, one could configure the overlay to use 10.1.0.0/16 and each host to receive a /24 subnet. Host A could then receive 10.1.15.1/24 and host B could get 10.1.20.1/24. Flannel uses etcd to maintain a mapping between allocated subnets and real host IP addresses. For the data path, flannel uses UDP to encapsulate IP datagrams to transmit them to the remote host.

    As a result, complex, multi-host systems such as Hadoop can be distributed across multiple Docker container hosts, using Flannel as the underlying fabric, resolving a deficiency in Docker’s native container address mapping system.

    Integrating Flannel with Kubernetes

    Kubernetes cluster consists of a master node and multiple minion nodes. Each minion node gets its own subnet through flannel service. Docker needs to be configured to use the subnet created by Flannel. Master starts a etcd server and flannel service running on each minion uses that etcd server to registers its container’s IP. etcd server stores a key-value mapping of each containers with its IP. kube-apiserver uses etcd server as a service to get the IP mappings and assign service IP’s accordingly. Kubernetes will create iptable rules through kube-proxy which will allocate static endpoints and load balancing. In case the minion node goes down or the pod restarts it will get a new local IP, but the service IP created by kubernetes will remain the same enabling kubernetes to route traffic to correct set of pods. Learn how to setup Kubernetes with Flannel undefined.

    Alternatives to Flannel

    Flannel is not the only solution for this. Other options like Calico and Weave are available. Weave is the closest competitor as it provides a similar set of features as Flannel. Flannel gets an edge in its ease of configuration and some of the benchmarks have found Weave to be slower than Flannel. 

    PS: Velotio is helping enterprises and product companies modernize their infrastructure using Containers, Docker, Kubernetes. Click here to learn more. 

  • Tutorial: Developing Complex Plugins for Jenkins

    Introduction

    Recently, I needed to develop a complex Jenkins plug-in for a customer in the containers & DevOps space. In this process, I realized that there is lack of good documentation on Jenkins plugin development and good information is very hard to find. That’s why I decided to write this blog to share my knowledge on Jenkins plugin development.

    Topics covered in this Blog

    1. Setting up the development environment
    2. Jenkins plugin architecture: Plugin classes and understanding of the source code.
    3. Complex tasks: Tasks like the integration of REST API in the plugin and exposing environment variables through source code.
    4. Plugin debugging and deployment

    So let’s start, shall we?

    1. Setting up the development environment

    I have used Ubuntu 16.04 for this environment, but the steps remain identical for other flavors. The only difference will be in the commands used for each operating system.

    Let me give you a brief list of the requirements:

    1. Compatible JDK: Jenkins plugin development is done in Java. Thus a compatible JDK is what you need first. JDK 6 and above are supported as per the Jenkins documentation.
    2. Maven: Installation guide. I know many of us don’t like to use Maven, as it downloads stuff over the Internet at runtime but it’s required. Check this to understand why using Maven is a good idea.
    3. Jenkins: Check this Installation Guide. Obviously, you would need a Jenkins setup – can be local on hosted on a server/VM.
    4. IDE for development: An IDE like Netbeans, Eclipse or IntelliJ IDEA is preferred. I have used Netbeans 8.1 for this project.

    Before going forward, please ensure that you have the above prerequisites installed on your system. Jenkins does have official documentation for setting up the environment – Check this. If you would like to use an IDE besides Netbeans, the above document covers that too.

    Let’s start with the creation of your project. I will explain with Maven commands and with use of the IDE as well.

    First, let’s start with the approach of using commands.

    It may be helpful to add the following to your ~/.m2/settings.xml (Windows users will find them in %USERPROFILE%.m2settings.xml):

    <settings>
     <pluginGroups>
       <pluginGroup>org.jenkins-ci.tools</pluginGroup>
     </pluginGroups>
    
    <profiles>
       <!-- Give access to Jenkins plugins -->
       <profile>
         <id>jenkins</id>
         <activation>
           <activeByDefault>true</activeByDefault> <!-- change this to false, if you don't like to have it on per default -->
         </activation>
    
         <repositories>
           <repository>
             <id>repo.jenkins-ci.org</id>
             <url>http://repo.jenkins-ci.org/public/</url>
           </repository>
         </repositories>
         
         <pluginRepositories>
           <pluginRepository>
             <id>repo.jenkins-ci.org</id>
             <url>http://repo.jenkins-ci.org/public/</url>
           </pluginRepository>
         </pluginRepositories>
       </profile>
     </profiles>
     
     <mirrors>
       <mirror>
         <id>repo.jenkins-ci.org</id>
         <url>http://repo.jenkins-ci.org/public/</url>
         <mirrorOf>m.g.o-public</mirrorOf>
       </mirror>
     </mirrors>
    </settings>

    This basically lets you use short names in commands e.g. instead of org.jenkins-ci.tools:maven-hpi-plugin:1.61:create, you can use hpi:create. hpi is the packaging style used to deploy the plugins.

    Create the plugin

    $ mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create


    This will ask you a few questions, like the groupId (the Maven jargon for the package name) and the artifactId (the Maven jargon for your project name), then create a skeleton plugin from which you can start with. This command should create the sample HelloWorldBuilder plugin.

    Command Explanation:

    • -U: Maven needs to update the relevant Maven plugins (check plugin updates).
    • hpi: this prefix specifies that the Jenkins HPI Plugin is being invoked, a plugin that supports the development of Jenkins plugins.
    • create is the goal which creates the directory layout and the POM for your new Jenkins plugin and it adds it to the module list.

    Source code tree would be like this:

    Your Project Name    
      Pom.xml      
        Src          
          Main              
            Java                  
              package folder(usually consist of groupId and artifactId)                      
                HelloWorldBuilder.java              
          Resources                  
              Package folder/HelloWorldBuilder/jelly files

    Run “mvn package” which compiles all sources, runs the tests and creates a package – when used by the HPI plugin it will create an *.hpi file.

    Building the Plugin:

    Run mvn install in the directory where pom.xml resides. This is similar to mvn package command but at the end, it will create your plugins .hpi file which you can deploy. Simply copy the create .hpi file and paste to /plugins folder of your Jenkins setup. Restart your Jenkins and you should see the plugin on Jenkins.

    Now let’s see how this can be done with IDE.

    With Netbeans IDE:

    I have used Netbeans for development(Download). Check with the JDK version. Latest version 8.2 works with JDK 8. Once you install Netbeans, install NetBeans plugin for Jenkins/Stapler development.

    You can now create plugin via New Project » Maven » Jenkins Plugin.

    This is the same as “mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create” command which should create the simple “HelloWorldBuilder” application.

    Netbeans comes with Maven built-in so even if you don’t have Maven installed on your system this should work. But you may face error accessing the Jenkins repo. Remember we added some configuration settings in settings.xml in the very first step. Yes, if you have added that already then you shouldn’t face any problem but if you haven’t added that you can add that in Netbeans Maven settings.xml which you can find at: netbeans_installation_path/java/maven/conf/settings.xml

    Now you have your “HelloWorldBuilder” application ready.  This is shown as TODO plugin in Netbeans. Simply run it(F6). This creates the Jenkins instance and runs it on 8080 port. Now, if you already have local Jenkins setup then you need to stop it otherwise this will give you an exception. Go to localhost:8080/jenkins and create a simple job. In “Add Build Step” you should see “Say Hello World” plugin already there.

    Now how it got there and the source code explanation is next.

    2. Jenkins plugin architecture and understanding

    Now that we have our sample HelloWorldBuilder plugin ready,  let’s see its components.

    As you may know, Jenkins plugin has two parts: Build Step and Post Build Step. This sample application is designed to work for Build step and that’s why you see “Say Hello world” plugin in Build step. I am going to cover Build Step itself.

    Do you want to develop Post Build plugin? Don’t worry as these two don’t have much difference. The difference is only in the classes which we extend. For Build step, we extend “hudson.tasks.Builder” and for Post Build “hudson.tasks.Recorder” and with Descriptor class for Build step “BuildStepDescriptor<builder></builder>” for Post Build “BuildStepDescriptor<publisher></publisher>”.

    We will go through these classes in detail below:

    hudson.tasks.Builder Class:

    In brief, this simply tells Jenkins that you are writing a Build Step plugin. A full explanation is here. Now you will see “perform” method once you override this class.

    @Override
    public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener)

    Note that we are not implementing the ”SimpleBuildStep” interface which is there in HelloWorldBuilder source code. Perform method for that Interface is a  bit different from what I have given above. My explanation goes around this perform method.

    The perform method is basically called when you run your Build. If you see the Parameters passed you have full control over the Build configured, you can log to Jenkins console screen using listener object. What you should do here is access the values set by the user on UI and perform the plugin activity. Note that this method is returning a boolean, True means build is Successful and False is Build Failed.

    Understanding the Descriptor Class:  

    You will notice there is a static inner class in your main class named as DescriptorImpl. This class is basically used for handling configuration of your Plugin. When you click on “Configure” link on Jenkins it basically calls this method and loads the configured data.

    You can perform validations here, save the global configuration and many things. We will see these in detail as when required. Now there is an overridden method:

    @Override
    public String getDisplayName() {
    return "Say Hello World";
    }

    That’s why we see “Say Hello World” in the Build Step. You can rename it to what your plugin does.

    @Override
    public boolean configure(StaplerRequest req, JSONObject formData) throws FormException {
    // To persist global configuration information,
    // set that to properties and call save().
    useFrench = formData.getBoolean("useFrench");
    // ^Can also use req.bindJSON(this, formData);
    //(easier when there are many fields; need set* methods for this, like setUseFrench)
    save();
    return super.configure(req,formData);
    }

    This method basically saves your configuration, or you can even get global data like we have taken “useFrench” attribute which can be set from Jenkins global configuration. If you would like to set any global parameter you can place them in the global.jelly file.

    Understanding Action class and jelly files:

    To understand the main Action class and what it’s purpose is, let’s first understand the jelly files.

    There are two main jelly files: config.jelly and global.jelly. The global.jelly file is used to set global parameters while config.jelly is used for local parameters configuration. Jenkins uses these jelly files to show the parameters or fields on UI. So anything you write in config.jelly will show up on Jobs configuration page as configurable.

    <f:entry title="Name" field="name">
    <f:textbox />
    </f:entry>

    This is what is there in our HelloWorldBuilder application. It simply renders a textbox for entering name.

    Jelly has its own syntax and supports HTML and Javascript as well. It has radio buttons, checkboxes, dropdown lists and so on.

    How does Jenkins manage to pull the data set by the user? This is where our Action class comes into the picture. If you see the structure of the sample application, it has a private field as name and a constructor.

    @DataBoundConstructor
    public HelloWorldBuilder(String name) {
    this.name = name;
    }

    This DataBoundConstructor annotation tells Jenkins to bind the value of jelly fields. If you notice there’s field as “name” in jelly and the same is used here to put the data. Note that, whatever name you set in field attribute of jelly same you should use here as they are tightly coupled.

    Also, add getters for these fields so that Jenkins can access the values.

    @Override
    public DescriptorImpl getDescriptor() {
    return (DescriptorImpl)super.getDescriptor();
    }

    This method gives you the instance of Descriptor class. So if you want to access methods or properties of Descriptor class in your Action class you can use this.

    3. Complex tasks:

    We now have a good idea on how the Jenkins plugin structure is and how it works. Now let’s start with some complex stuff.

    On the internet, there are examples on how to render a selection box(drop-down) with static data. What if you want to load in a dynamic manner? I came with the below solution. We will use Amazon’s publicly available REST API for getting the coupons and load that data in the selection box.

    Here, the objective is to load the data in the selection box. I have the response for REST API as below:

    "offers" : {    
      "AmazonChimeDialin" : {      
        "offerCode" : "AmazonChimeDialin",      
        "versionIndexUrl" : "/offers/v1.0/aws/AmazonChimeDialin/index.json",      
        "currentVersionUrl" : "/offers/v1.0/aws/AmazonChimeDialin/current/index.json",     
        "currentRegionIndexUrl" : "/offers/v1.0/aws/AmazonChimeDialin/current/region_index.json"    
       },    
       "mobileanalytics" : {      
        "offerCode" : "mobileanalytics",      
        "versionIndexUrl" : "/offers/v1.0/aws/mobileanalytics/index.json",      
        "currentVersionUrl" : "/offers/v1.0/aws/mobileanalytics/current/index.json",      
        "currentRegionIndexUrl" : "/offers/v1.0/aws/mobileanalytics/current/region_index.json"    
        }
        }

    I have taken all these offers and created one dictionary and rendered it on UI. Thus the user will see the list of coupon codes and can choose anyone of them.

    Let’s understand how to create the selection box and load the data into it.

    <f:entry title="select Offer From Amazon" field="getOffer">   
     <f:select id="offer-${editorId}" onfocus="getOffers(this.id)"/>  
     </f:entry>

    This is the code which will generate the selection box on configuration page.  Now you will see here “getOffer” field means there’s field with the same name in the Action class.

    When you create any selection box, Jenkins needs doFill{fieldname}Items method in your descriptor class. As we have seen, Descriptor class is configuration class it tries to load the data from this method when you click on the configuration of the job. So in this case, “doFillGetOfferItems” method is required.

    After this, selection box should pop up on the configuration page of your plugin.

    Now here as we need to do dynamic actions, we will perform some action and will load the data.

    As an example, we will click on the button and load the data in Selection Box.

    <f:validateButton title="Get Amazon Offers" progress="Fetching Offers..."method="getAmazonOffers"/>

    Above is the code to create a button. In method attribute, specify the backend method which should be present in your Descriptor class. So when you click on this button “getAmazonOffers” method will get called at the backend and it will get the data from API.

    Now when we click on the selection box, we need to show the contents. As I said earlier, Jelly does support HTML and Javascript. Yes, if you want to do dynamic action use Javascript simply. If you see in selection box code of jelly I have used onfocus() method of Javascript which is pointing to getOffers() function.

    Now you need to have this function, define script tag like this.

    <script> 
    function getOffers(){ 
    }
    </script>

    Now here get the data from backend and load it in the selection box. To do this we need to understand some objects of Jenkins.

    1. Descriptor: As you now know, Descriptor is configuration class this object points to. So from jelly at any point, you can call the method from your Descriptor class.
    2. Instance: This is the object currently being configured on the configuration page. Null if it’s a newly added instance. Means by using this you can call the methods from your Action class. Like getters of field attribute.

    Now how to use these objects? To use you need to first set them.

    <st:bind var="backend" value="${descriptor}"/>

    Here you are binding descriptor object to backend variable and this variable is now ready for use anywhere in config.jelly.  Similarly for instance, <st:bind var=”backend” value=”${instance}”>.</st:bind>

    To make calls use backend.{backend method name}() and it should call your backend method.

    But if you are using this from JavaScript then you need use @JavaScriptMethod annotation over the method being called.

    We can now get the REST data from backend function in JavaScript and to load the data into the element you can use the document object of JavaScript.

    E.g. var selection = document.getElementById(“element-id”); This part is normal Javascript.

    So after clicking on “Get Amazon Offers” button and clicking on Selection box it should now load the data.

    Multiple Plugin Instance: If we are creating a multiple Build Step plugin then you can create multiple instances of your plugin while configuring it. If you try to do what we have done up till now, it will fail to load the data in the second instance. This is because the same element already exists on the UI with the same id. JavaScript will get confused while putting the data. We need to have a mechanism to create the different ids of the same fields.

    I thought of one approach for this. Get the index from backend while configuring the fields and add as a suffix in id attribute.

    @JavaScriptMethod
    public synchronized String createEditorId() {
    return String.valueOf(lastEditorId++);
    }

    This is the method which just returns the id+1 each time it gets called. You know now how to call backend methods from Jelly.

    <j:set var="editorId" value="${descriptor.createEditorId()}" />

    In this manner, we set the ID value in variable “editorId” and this can be used while creation of fields.

    (Check out the selection box creation code above. I have appended this variable in ID attribute)

    Now create as many instances you want in configuration page it should work fine.

    Exposing Environment Variables:

    Environment variables are needed quite often in Jenkins. Your plugin may require the support of some environment variables or the use of the built-in environment variables provided by Jenkins.

    First, you need to create the Envvars object.

    EnvVars envVars = new EnvVars();
    ** Assign it to the build environment.
    envVars = build.getEnvironment(listener);
    ** Put the values which you wanted to expose as environment variable.
    envVars.put("offer", getOffer);

    If you print this then you will get all the default Jenkins environment variables as well as variables which you have exposed. Using this you can even use third party plugins like “Parameterized Trigger Plugin” to export the current build’s environment variable to different jobs.You can even get the value of any environment variable using this.

    4. Plugin Debugging and Deployment:

    You have now got an idea on how to write a plugin in Jenkins, now we move on to perform some complex tasks. We will see how to debug the issue and deploy the plugin. If you are using the IDE then debugging is same like you do for Java program similar to setting up the breakpoints and running the project.

    If you want to perform any validation on fields, in the configuration class you would need to have docheck{fieldname} method which will return FormValidation object. In this example, we are validating the “name” field from our sample “HelloWorldBuilder” example.

    public FormValidation doCheckName(@QueryParameter String value)
    throws IOException, ServletException {
    if (value.length() == 0)
    return FormValidation.error("Please set a name"); 
    if (value.length() < 4)
    return FormValidation.warning("Isn't the name too short?");
    return FormValidation.ok(); 
    }

    Plugin deployment:  

    We have now created the plugin, how are we going to deploy it? We have created the plugin using Netbeans IDE and as I said earlier if you want to deploy it on your local Jenkins setup you need to use the Maven command mvn install and copy .hpi to /plugins/ folder.

    But what if you want to deploy it on Jenkins Marketplace? Well, it’s a pretty long process and thankfully Jenkins has good documentation for it.

    In short, you need to have a jenkins-ci.org account. Your public Git repo will have the plugin source code. Raise an issue on JIRA to get space on their Git repo and in this operation, they will have forked your git repo. Finally, release the plugin using Maven. The above document explains well what exactly needs to be done.

    Conclusion:

    We went through the basics of Jenkins plugin development such as classes, configuration, and some complex tasks.

    Jenkins plugin development is not difficult, but I feel the poor documentation is what makes the task challenging. I have tried to cover my understanding while developing the plugin, however, it is advisable to create a plugin only if the required functionality does not already exist.

    Below are some important links on plugin development:

    1. Jenkins post build plugin development: This is a very good blog which covers things like setting up the environment, plugin classes and developing Post build action.
    2. Basic guide to use jelly: This covers how to use jelly files in Jenkins and attributes of jelly. 

    You can check the code of the sample application discussed in this blog here. I hope this helps you to build interesting Jenkins plugins. Happy Coding!!

  • Jenkins X – A Cloud-native Approach to CI/CD

    Jenkins X is a project which rethinks how developers should interact with CI/CD in the cloud with a focus on making development teams productive through automation, tooling and DevOps best practices.

    The difference between Jenkins X and Jenkins

    Jenkins is a tool which was developed long before cloud become the norm and it’s definitely not a cloud-native tool, meaning it doesn’t have out of the box capability to survive outages, seamless scaling, etc.

    Basically, Jenkins X is not just a CI/CD tool to run builds and deployments, it automates the whole development process end to end for containerised applications based on Docker and Kubernetes. 

    With Jenkins X, you get not only Kubernetes pipelines for your apps but also a very scalable CI/CD solution.

    Challenges while setting up CI/CD pipelines for container-based applications:

    • Setup the cloud environment
    • Setup kubernetes cluster and set up multiple environments like development, staging, testing
    • Migrate application to the container so that user can start building docker images
    • Figure out how to deploy the application on Kubernetes and generate some yml and helm charts
    • Figure out how to do continuous delivery including promotion processes – eg Promote versions of the application from testing to staging to production.
    • Store all operational configurations like web application source code on the GitHub repository.
    • Then automate everything

    So all this stuff which developers have to do is kind of unnecessary heavy lifting. Jenkins X is designed to get the above stuff done and focus on delivering actual value to customers.

    How does Jenkins X help?

    • Automate the installation, configuration & upgrade of Jenkins + other s/w components (helm, nexus etc) on Kubernetes
    • Automate CI/CD for your applications on Kubernetes
    • Docker images
    • Helm charts
    • Pipelines
    • Uses GitOps to manage promotions between environments
    • Test – Staging – Promotion
    • Lots of feedback. Eg. commenting on issues as they hit Staging + Production

    What does Jenkins X do?

    By using Jenkins X, the developer can type one command jx create or jx import and the following process : get the source code, the git repository and application created, automatically built and deployed to Kubernetes on each Pull Request or git push with full CI/CD complete with Environments and Promotion.

    Developers and teams don’t have to spend time figuring out how to package software as docker images, create the Kubernetes YAML to run their application on kubernetes, create Preview environments or even learn how to implement CI/CD pipelines with declarative pipeline-as-code Jenkinsfiles. It’s all automated in Jenkins X.

    If you want to see Dockerfile, Jenkinsfile or Helm charts for your apps or their environments then those are all available versioned in Git with the rest of your source code with full CI/CD on it all.

    Jenkins X conceptual model

    Automated CI/CD Pipelines

    Create new projects or import existing source code quickly into Jenkins X via the jx command line tool and:

    • Get a Pipeline automatically set up for you that implements best practice CI/CD features:
    • Creates a Jenkinsfile for defining the CI/CD pipelines through declarative pipeline-as-code
    • Creates a Docker file for packaging the application up as an immutable container image (for applications which generate images)
    • Creates a Helm chart for deploying and running your application on Kubernetes
    • Ensures your code is in a git repository (e.g. GitHub) with the necessary webhooks to trigger the Jenkins CI/CD pipelines on push events
    • Triggers the first release pipeline to promote your application to your teams Staging Environment

    On each Pull Request, a CI pipeline is triggered to build your application and run all the tests ensuring you keep the master branch in a ready to release state. When a Pull Request is merged to the master branch the Release pipeline is triggered to create a new release:

    • A new semantic version number is generated
    • The source code is modified for the new version and then tagged in Git
    • New versioned artifacts are published including docker image, helm chart, and any language-specific artifacts

    Jenkins X functionality

    JX is a command line tool for installing and using Jenkins X. Check out how to install jx. To create a new Kubernetes cluster with Jenkins X installed use the jx create cluster command. The command initialises Pods with the following applications in jx namespace of Kubernetes:

    • Chartmuseum (Open-source Helm Chart repository)
    • Docker registry (Docker image storage)
    • Jenkins (Automation server)
    • MongoDB (NoSQL Database)
    • Nexus repository (Artifact storage)

    Let’s have a look at how the JX processes correlate to Git actions. For simplicity, let’s use only master and one feature branch. The table below details the steps of the flow.

    Prerequisites for setting up Kubernetes + Jenkins X using GKE

    Note: Following steps are for Ubuntu 16.04

    • Install Git and set your account’s default identity using Git config
    • Install gcloud – Google Cloud Platform’s CLI tool
    • Install kubectl – Kubernetes CLI tool
    • Download here
    • Move to /usr/local/bin for path binding:
    $ sudo cp /home//Downloads/kubectl /usr/local/bin/kubectl
    $ sudo chmod +x /usr/local/bin/kubectl

    • Install Helm i.e. Kubernetes package manager
    • Download here
    • Move to /usr/local/bin for path binding:
    $ sudo cp /home//Downloads/linux-amd64/helm /usr/local/bin/helm
    $ sudo chmod +x /usr/local/bin/helm

    $ curl -L https://github.com/jenkins-x/jx/releases/download/v1.2.102/jx-linux-amd64.tar.gz | tar xzv

    $ sudo mv jx /usr/local/bin
    $ sudo chmod +x  /usr/local/bin/jx

    How to create a Kubernetes cluster on GKE and install Jenkins X

    jx create cluster gke

    $ jx create cluster gke
    ? Google Cloud Project: private-cloud-198808
    No cluster name provided so using a generated one: carpcoal
    ? Google Cloud Zone: us-west1-a
    ? Google Cloud Machine Type: n1-standard-2
    ? Minimum number of Nodes 3
    ? Maximum number of Nodes 5
    Creating cluster...
    Initialising cluster ...
    Trying to create ClusterRoleBinding gke-private-cloud-198808-us-west1-a-carpcoal-cluster-admin-binding for role: cluster-admin for user gke-private-cloud-198808-us-west1-a-carpcoal
    Created ClusterRoleBinding gke-private-cloud-198808-us-west1-a-carpcoal-cluster-admin-binding
    Created ServiceAccount tiller in namespace kube-system
    Trying to create ClusterRoleBinding tiller for role: cluster-admin and ServiceAccount: kube-system/tiller
    Created ClusterRoleBinding tiller
    Initialising helm using ServiceAccount tiller in namespace kube-system
    helm installed and configured
    ? No existing ingress controller found in the kube-system namespace, shall we install one? Yes
    NAME:   jxing ingress controller found in the kube-system namespace, shall we install one? [? for help] (Y/n) Y
    LAST DEPLOYED: Fri Jun  8 14:27:52 2018
    NAMESPACE: kube-system
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/ConfigMap
    NAME                            DATA  AGE
    jxing-nginx-ingress-controller  1     2s
    
    ==> v1/ServiceAccount
    NAME                 SECRETS  AGE
    jxing-nginx-ingress  1        2s
    
    ==> v1beta1/ClusterRole
    NAME                 AGE
    jxing-nginx-ingress  2s
    
    ==> v1beta1/Deployment
    NAME                                 DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
    jxing-nginx-ingress-controller       1        1        1           0          1s
    jxing-nginx-ingress-default-backend  1        1        1           0          1s
    
    ==> v1beta1/ClusterRoleBinding
    NAME                 AGE
    jxing-nginx-ingress  2s
    
    ==> v1beta1/Role
    NAME                 AGE
    jxing-nginx-ingress  2s
    
    ==> v1beta1/RoleBinding
    NAME                 AGE
    jxing-nginx-ingress  2s
    
    ==> v1/Service
    NAME                                 TYPE          CLUSTER-IP     EXTERNAL-IP  PORT(S)                     AGE
    jxing-nginx-ingress-controller       LoadBalancer  10.59.244.203  <pending>    80:30890/TCP,443:32429/TCP  2s
    jxing-nginx-ingress-default-backend  ClusterIP     10.59.252.220  <none>       80/TCP                      1s
    
    ==> v1beta1/PodDisruptionBudget
    NAME                                 MIN AVAILABLE  MAX UNAVAILABLE  ALLOWED DISRUPTIONS  AGE
    jxing-nginx-ingress-controller       1              N/A              0                    1s
    jxing-nginx-ingress-default-backend  1              N/A              0                    1s
    
    ==> v1/Pod(related)
    NAME                                                  READY  STATUS             RESTARTS  AGE
    jxing-nginx-ingress-controller-7c4bd99845-kvl59       0/1    ContainerCreating  0         1s
    jxing-nginx-ingress-default-backend-66c54ff74b-z6qj8  0/1    ContainerCreating  0         1s
    
    
    NOTES:
    The nginx-ingress controller has been installed.
    It may take a few minutes for the LoadBalancer IP to be available.
    You can watch the status by running 'kubectl --namespace kube-system get services -o wide -w jxing-nginx-ingress-controller'
    
    An example Ingress that makes use of the controller:
    
      apiVersion: extensions/v1beta1
      kind: Ingress
      metadata:
        annotations:
          kubernetes.io/ingress.class: nginx
        name: example
        namespace: foo
      spec:
        rules:
          - host: www.example.com
            http:
              paths:
                - backend:
                    serviceName: exampleService
                    servicePort: 80
                  path: /
        # This section is only required if TLS is to be enabled for the Ingress
        tls:
            - hosts:
                - www.example.com
              secretName: example-tls
    
    If TLS is enabled for the Ingress, a Secret containing the certificate and key must also be provided:
    
      apiVersion: v1
      kind: Secret
      metadata:
        name: example-tls
        namespace: foo
      data:
        tls.crt: <base64 encoded cert>
        tls.key: <base64 encoded key>
      type: kubernetes.io/tls
    
    Waiting for external loadbalancer to be created and update the nginx-ingress-controller service in kube-system namespace
    Note: this loadbalancer will fail to be provisioned if you have insufficient quotas, this can happen easily on a GKE free account. To view quotas run: gcloud compute project-info describe
    External loadbalancer created
    ? Domain 35.230.49.158.nip.io
    nginx ingress controller installed and configured
    Lets set up a git username and API token to be able to perform CI/CD
    
    ? GitHub username for CI/CD pipelines: grohan2002
    Cloning the Jenkins X cloud environments repo to /home/aditi/.jx/cloud-environments
    ? A local Jenkins X cloud environments repository already exists, recreate with latest? Yes
    Cloning the Jenkins X cloud environments repo to /home/aditi/.jx/cloud-environments
    Counting objects: 574, done.
    Total 574 (delta 0), reused 0 (delta 0), pack-reused 574
    Generated helm values /home/aditi/.jx/extraValues.yaml
    Installing Jenkins X platform helm chart from: /home/aditi/.jx/cloud-environments/env-gke
    helm repo add jenkins-x https://chartmuseum.build.cd.jenkins-x.io
    "jenkins-x" has been added to your repositories
    rm -rf secrets.yaml.dec
    helm repo add jenkins-x https://chartmuseum.build.cd.jenkins-x.io
    "jenkins-x" has been added to your repositories
    helm repo update
    Hang tight while we grab the latest from your chart repositories...
    ...Skip local chart repository
    ...Successfully got an update from the "stable" chart repository
    ...Successfully got an update from the "jenkins-x" chart repository
    Update Complete. ⎈ Happy Helming!⎈ 
    helm install jenkins-x/jenkins-x-platform --name jenkins-x -f ./myvalues.yaml -f ./secrets.yaml --version 0.0.1193 --values=/home/aditi/.jx/gitSecrets.yaml --values=/home/aditi/.jx/adminSecrets.yaml --values=/home/aditi/.jx/extraValues.yaml --namespace=jx --timeout=6000
    NAME:   jenkins-x
    LAST DEPLOYED: Fri Jun  8 14:29:34 2018
    NAMESPACE: jx
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1beta1/ClusterRoleBinding
    NAME                  AGE
    jenkins-role-binding  58s
    
    ==> v1beta1/Deployment
    NAME                           DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
    jenkins-x-chartmuseum          1        1        1           1          58s
    jenkins-x-docker-registry      1        1        1           1          58s
    jenkins-x-heapster             1        1        1           1          58s
    jenkins                        1        1        1           0          58s
    jenkins-x-mongodb              1        1        1           0          58s
    jenkins-x-monocular-api        1        1        1           0          57s
    jenkins-x-monocular-prerender  1        1        1           1          57s
    jenkins-x-monocular-ui         1        1        1           1          57s
    jenkins-x-nexus                1        1        1           0          57s
    pipelinecontroller             1        1        1           1          57s
    
    ==> v1beta1/CustomResourceDefinition
    NAME                  AGE
    pipelines.jenkins.io  57s
    runs.jenkins.io       57s
    
    ==> v1/Pod(related)
    NAME                                            READY  STATUS             RESTARTS  AGE
    jenkins-x-chartmuseum-77dcdf7f87-txxrx          1/1    Running            0         58s
    jenkins-x-docker-registry-76dd6bddd4-498dr      1/1    Running            0         58s
    jenkins-x-heapster-57b558bf9b-9nbg8             2/2    Running            0         58s
    jenkins-58848b44cd-fp9kt                        0/1    Running            0         57s
    jenkins-x-mongodb-5fb7868bd-qp6q2               0/1    ContainerCreating  0         57s
    jenkins-x-monocular-api-d7d6cc9b7-2pxn4         0/1    Error              0         57s
    jenkins-x-monocular-prerender-74f49ffdc7-jdbhp  1/1    Running            0         57s
    jenkins-x-monocular-ui-5dcfbf9d7c-mvxgs         1/1    Running            0         57s
    jenkins-x-nexus-786fcdbd98-fgtq7                0/1    ContainerCreating  0         57s
    pipelinecontroller-5c5f5df7ff-4ljj5             1/1    Running            0         57s
    
    ==> v1/Secret
    NAME                              TYPE    DATA  AGE
    jenkins-x-chartmuseum             Opaque  2     58s
    jenkins-x-docker-registry-secret  Opaque  1     58s
    jenkins                           Opaque  2     58s
    jenkins-x-mongodb                 Opaque  2     58s
    nexus                             Opaque  1     58s
    jenkins-docker-cfg                Opaque  1     58s
    jenkins-git-credentials           Opaque  1     58s
    jenkins-hub-api-token             Opaque  1     58s
    jenkins-git-ssh                   Opaque  2     58s
    jx-basic-auth                     Opaque  1     58s
    jenkins-release-gpg               Opaque  4     58s
    jenkins-maven-settings            Opaque  1     58s
    jenkins-npm-token                 Opaque  1     58s
    jenkins-ssh-config                Opaque  1     58s
    
    ==> v1/ConfigMap
    NAME                              DATA  AGE
    jenkins-x-docker-registry-config  1     58s
    exposecontroller                  1     58s
    jenkins                           7     58s
    jenkins-x-git-kinds               2     58s
    jenkins-tests                     1     58s
    jenkins-x-monocular-api-config    1     58s
    jenkins-x-monocular-ui-config     1     58s
    jenkins-x-monocular-ui-vhost      1     58s
    jenkins-x-pod-templates           12    58s
    
    ==> v1/PersistentVolumeClaim
    NAME                       STATUS  VOLUME                                    CAPACITY  ACCESS MODES  STORAGECLASS  AGE
    jenkins-x-chartmuseum      Bound   pvc-43b61a9d-6afa-11e8-818a-42010a8a007f  8Gi       RWO           standard      58s
    jenkins-x-docker-registry  Bound   pvc-43ba02df-6afa-11e8-818a-42010a8a007f  100Gi     RWO           standard      58s
    jenkins                    Bound   pvc-43bda529-6afa-11e8-818a-42010a8a007f  30Gi      RWO           standard      58s
    jenkins-x-mongodb          Bound   pvc-43bedec4-6afa-11e8-818a-42010a8a007f  8Gi       RWO           standard      58s
    jenkins-x-nexus            Bound   pvc-43c0b170-6afa-11e8-818a-42010a8a007f  8Gi       RWO           standard      58s
    
    ==> v1/ServiceAccount
    NAME                SECRETS  AGE
    cleanup             1        58s
    expose              1        58s
    jenkins             1        58s
    pipelinecontroller  1        58s
    
    ==> v1/Role
    NAME     AGE
    cleanup  58s
    expose   58s
    
    ==> v1/RoleBinding
    NAME     AGE
    cleanup  58s
    expose   58s
    
    ==> v1/Service
    NAME                           TYPE       CLUSTER-IP     EXTERNAL-IP  PORT(S)    AGE
    jenkins-x-chartmuseum          ClusterIP  10.59.247.18   <none>       8080/TCP   58s
    jenkins-x-docker-registry      ClusterIP  10.59.251.152  <none>       5000/TCP   58s
    heapster                       ClusterIP  10.59.255.13   <none>       8082/TCP   58s
    jenkins-agent                  ClusterIP  10.59.242.200  <none>       50000/TCP  58s
    jenkins                        ClusterIP  10.59.252.154  <none>       8080/TCP   58s
    jenkins-x-mongodb              ClusterIP  10.59.243.233  <none>       27017/TCP  58s
    jenkins-x-monocular-api        ClusterIP  10.59.242.193  <none>       80/TCP     58s
    jenkins-x-monocular-prerender  ClusterIP  10.59.255.226  <none>       80/TCP     58s
    jenkins-x-monocular-ui         ClusterIP  10.59.242.187  <none>       80/TCP     58s
    nexus                          ClusterIP  10.59.240.56   <none>       80/TCP     58s
    
    
    waiting for install to be ready, if this is the first time then it will take a while to download images
    Jenkins X deployments ready in namespace jx
    
    	
    	********************************************************
    	
    	     NOTE: Your admin password is: pirateclear
    	
    	********************************************************
    	
    	Getting Jenkins API Token
    unable to automatically find API token with chromedp using URL http://jenkins.jx.35.230.49.158.nip.io/me/configure
    Please go to http://jenkins.jx.35.230.49.158.nip.io/me/configure and click Show API Token to get your API Token
    Then COPY the token and enter in into the form below:
    
    Created user admin API Token for Jenkins server jenkins.jx.35.230.49.158.nip.io at http://jenkins.jx.35.230.49.158.nip.io
    Creating default staging and production environments
    Using git provider GitHub at https://github.com
    
    
    About to create repository environment-carpcoal-staging on server https://github.com with user grohan2002
    ? Which organisation do you want to use? grohan2002
    
    
    Creating repository grohan2002/environment-carpcoal-staging
    Creating git repository grohan2002/environment-carpcoal-staging
    Cloning into '/home/aditi/.jx/environments/grohan2002/environment-carpcoal-staging'...
    remote: Counting objects: 67, done.
    remote: Total 67 (delta 0), reused 0 (delta 0), pack-reused 67
    Unpacking objects: 100% (67/67), done.
    Checking connectivity... done.
    [master f2045e1] Use correct namespace for environment
     1 file changed, 1 insertion(+), 1 deletion(-)
    [master 85e3e03] Add environment configuration
     1 file changed, 9 insertions(+)
    Counting objects: 74, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (71/71), done.
    Writing objects: 100% (74/74), 13.71 KiB | 0 bytes/s, done.
    Total 74 (delta 39), reused 0 (delta 0)
    remote: Resolving deltas: 100% (39/39), done.
    To https://grohan2002:0468f81bbf086353d5a03a2a8125d5642bd1d6f6@github.com/grohan2002/environment-carpcoal-staging.git
     * [new branch]      master -> master
    Branch master set up to track remote branch master from origin.
    Pushed git repository to https://github.com/grohan2002/environment-carpcoal-staging
    
    Created environment staging
    ? user name for the Jenkins Pipeline grohan2002
    Created Jenkins Project: http://jenkins.jx.35.230.49.158.nip.io/job/grohan2002/job/environment-carpcoal-staging/
    
    Note that your first pipeline may take a few minutes to start while the necessary docker images get downloaded!
    
    Creating github webhook for grohan2002/environment-carpcoal-staging for url http://jenkins.jx.35.230.49.158.nip.io/github-webhook/
    Using git provider GitHub at https://github.com
    
    
    About to create repository environment-carpcoal-production on server https://github.com with user grohan2002
    ? Which organisation do you want to use? grohan2002
    
    
    Creating repository grohan2002/environment-carpcoal-production
    Creating git repository grohan2002/environment-carpcoal-production
    Cloning into '/home/aditi/.jx/environments/grohan2002/environment-carpcoal-production'...
    remote: Counting objects: 67, done.
    remote: Total 67 (delta 0), reused 0 (delta 0), pack-reused 67
    Unpacking objects: 100% (67/67), done.
    Checking connectivity... done.
    [master 841d795] Use correct namespace for environment
     1 file changed, 1 insertion(+), 1 deletion(-)
    [master 064603d] Add environment configuration
     1 file changed, 9 insertions(+)
    Counting objects: 74, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (71/71), done.
    Writing objects: 100% (74/74), 13.72 KiB | 0 bytes/s, done.
    Total 74 (delta 39), reused 0 (delta 0)
    remote: Resolving deltas: 100% (39/39), done.
    To https://grohan2002:0468f81bbf086353d5a03a2a8125d5642bd1d6f6@github.com/grohan2002/environment-carpcoal-production.git
     * [new branch]      master -> master
    Branch master set up to track remote branch master from origin.
    Pushed git repository to https://github.com/grohan2002/environment-carpcoal-production
    
    Created environment production
    Created Jenkins Project: http://jenkins.jx.35.230.49.158.nip.io/job/grohan2002/job/environment-carpcoal-production/
    
    Note that your first pipeline may take a few minutes to start while the necessary docker images get downloaded!
    
    Creating github webhook for grohan2002/environment-carpcoal-production for url http://jenkins.jx.35.230.49.158.nip.io/github-webhook/
    
    Jenkins X installation completed successfully
    
    	
    	********************************************************
    	
    	     NOTE: Your admin password is: pirateclear
    	
    	********************************************************
    	
    	
    To import existing projects into Jenkins: jx import
    To create a new Spring Boot microservice: jx create spring -d web -d actuator

    After triggering this command, we are prompted to authenticate Google Cloud account. It also prompts for some questions on how to create our cluster. It generates a random admin password which is used to access all the applications that we’ve installed.

    jx get build logs

    We can now get logs for the build jobs which are actually provisioning the staging environment. Please find detailed logs of the above command displayed below.

    $ jx get build logs
    ? Which pipeline do you want to view the logs of?:  grohan2002/environment-carpcoal-staging/master
    view the log at: http://jenkins.jx.35.230.49.158.nip.io/job/grohan2002/job/environment-carpcoal-staging/job/master/1/console
    tailing the log of grohan2002/environment-carpcoal-staging/master #1
    Branch indexing
    Connecting to https://api.github.com using grohan2002/****** (API Token for acccessing https://github.com git service inside pipelines)
    Obtained Jenkinsfile from 85e3e0347b4d8ad42f4a8d422e53b9d5691c8e6d
    Running in Durability level: MAX_SURVIVABILITY
    [Pipeline] node
    Still waiting to schedule task
    Waiting for next available executor
    Running on maven-5xzh0 in /home/jenkins/workspace/ent-carpcoal-staging_master-6QDKMJ2XMNMFA5GSJVDMXNPODJHK2OTAAIO23EZOPYXO5MLNXDQQ
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Declarative: Checkout SCM)
    [Pipeline] checkout
    Cloning the remote Git repository
    Cloning with configured refspecs honoured and without tags
    Cloning repository https://github.com/grohan2002/environment-carpcoal-staging.git
     > git init /home/jenkins/workspace/ent-carpcoal-staging_master-6QDKMJ2XMNMFA5GSJVDMXNPODJHK2OTAAIO23EZOPYXO5MLNXDQQ # timeout=10
    Fetching upstream changes from https://github.com/grohan2002/environment-carpcoal-staging.git
     > git --version # timeout=10
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/environment-carpcoal-staging.git +refs/heads/master:refs/remotes/origin/master
     > git config remote.origin.url https://github.com/grohan2002/environment-carpcoal-staging.git # timeout=10
     > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10
     > git config remote.origin.url https://github.com/grohan2002/environment-carpcoal-staging.git # timeout=10
    Fetching without tags
    Fetching upstream changes from https://github.com/grohan2002/environment-carpcoal-staging.git
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/environment-carpcoal-staging.git +refs/heads/master:refs/remotes/origin/master
    Checking out Revision 85e3e0347b4d8ad42f4a8d422e53b9d5691c8e6d (master)
     > git config core.sparsecheckout # timeout=10
     > git checkout -f 85e3e0347b4d8ad42f4a8d422e53b9d5691c8e6d
    Commit message: "Add environment configuration"
    First time build. Skipping changelog.
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] withEnv
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Validate Environment)
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [ent-carpcoal-staging_master-6QDKMJ2XMNMFA5GSJVDMXNPODJHK2OTAAIO23EZOPYXO5MLNXDQQ] Running shell script
    + make build
    rm -rf requirements.lock
    helm version
    Client: &version.Version{SemVer:"v2.8.2", GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}
    Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
    helm init
    Creating /home/jenkins/.helm 
    Creating /home/jenkins/.helm/repository 
    Creating /home/jenkins/.helm/repository/cache 
    Creating /home/jenkins/.helm/repository/local 
    Creating /home/jenkins/.helm/plugins 
    Creating /home/jenkins/.helm/starters 
    Creating /home/jenkins/.helm/cache/archive 
    Creating /home/jenkins/.helm/repository/repositories.yaml 
    Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com 
    Adding local repo with URL: http://127.0.0.1:8879/charts 
    $HELM_HOME has been configured at /home/jenkins/.helm.
    Warning: Tiller is already installed in the cluster.
    (Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)
    Happy Helming!
    helm repo add releases http://jenkins-x-chartmuseum:8080
    "releases" has been added to your repositories
    helm repo add jenkins-x http://chartmuseum.build.cd.jenkins-x.io
    "jenkins-x" has been added to your repositories
    helm dependency build "env"
    Hang tight while we grab the latest from your chart repositories...
    ...Unable to get an update from the "local" chart repository (http://127.0.0.1:8879/charts):
    	Get http://127.0.0.1:8879/charts/index.yaml: dial tcp 127.0.0.1:8879: getsockopt: connection refused
    ...Successfully got an update from the "releases" chart repository
    ...Successfully got an update from the "stable" chart repository
    ...Successfully got an update from the "jenkins-x" chart repository
    Update Complete. ⎈Happy Helming!
    Saving 2 charts
    Downloading exposecontroller from repo http://chartmuseum.build.cd.jenkins-x.io
    Downloading exposecontroller from repo http://chartmuseum.build.cd.jenkins-x.io
    Deleting outdated charts
    helm lint "env"
    ==> Linting env
    Lint OK
    
    1 chart(s) linted, no failures
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (Update Environment)
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [ent-carpcoal-staging_master-6QDKMJ2XMNMFA5GSJVDMXNPODJHK2OTAAIO23EZOPYXO5MLNXDQQ] Running shell script
    + make install
    helm upgrade "jx-staging" "env" --install --namespace "jx-staging" --debug
    [debug] Created tunnel using local port: '36938'
    
    [debug] SERVER: "127.0.0.1:36938"
    
    Release "jx-staging" does not exist. Installing it now.
    [debug] CHART PATH: /home/jenkins/workspace/ent-carpcoal-staging_master-6QDKMJ2XMNMFA5GSJVDMXNPODJHK2OTAAIO23EZOPYXO5MLNXDQQ/env
    
    NAME:   jx-staging
    REVISION: 1
    RELEASED: Fri Jun  8 09:06:21 2018
    CHART: env-0.0.1
    USER-SUPPLIED VALUES:
    {}
    
    COMPUTED VALUES:
    cleanup:
      Annotations:
        helm.sh/hook: pre-delete
        helm.sh/hook-delete-policy: hook-succeeded
      Args:
      - --cleanup
      BackoffLimit: 5
      Image: jenkinsxio/exposecontroller
      ImageTag: 2.3.58
      global: {}
    expose:
      Annotations:
        helm.sh/hook: post-install,post-upgrade
        helm.sh/hook-delete-policy: hook-succeeded
      BackoffLimit: 5
      Image: jenkinsxio/exposecontroller
      ImageTag: 2.3.58
      config:
        domain: 35.230.49.158.nip.io
        exposer: Ingress
        http: "true"
        tlsacme: "false"
      global: {}
    
    HOOKS:
    ---
    # expose
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: expose
      labels:
        heritage: "Tiller"
        release: "jx-staging"
        chart: "expose-2.3.58"
        component: "jx-staging-expose"
      name: expose
      annotations:
        helm.sh/hook: post-install,post-upgrade
        helm.sh/hook-delete-policy: hook-succeeded
        
    spec:
      # backoffLimit: 5
      template:
        metadata:
          name: "jx-staging"
          labels:
            heritage: "Tiller"
            release: "jx-staging"
            chart: "expose-2.3.58"
        spec:
          containers:
          - env:
            - name: KUBERNETES_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            image: "jenkinsxio/exposecontroller:2.3.58"
            name: expose
            command: ["/exposecontroller"]
            args:
          serviceAccountName: expose
          restartPolicy: Never
    ---
    # cleanup
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: cleanup
      labels:
        heritage: "Tiller"
        release: "jx-staging"
        chart: "cleanup-2.3.58"
        component: "jx-staging-cleanup"
      name: cleanup
      annotations:
        helm.sh/hook: pre-delete
        helm.sh/hook-delete-policy: hook-succeeded
        
    spec:
      # backoffLimit: 5
      template:
        metadata:
          name: "jx-staging"
          labels:
            heritage: "Tiller"
            release: "jx-staging"
            chart: "cleanup-2.3.58"
        spec:
          containers:
          - env:
            - name: KUBERNETES_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            image: "jenkinsxio/exposecontroller:2.3.58"
            name: cleanup
            command: ["/exposecontroller"]
            args:
            - "--cleanup"
          serviceAccountName: cleanup
          restartPolicy: Never
    MANIFEST:
    
    ---
    # Source: env/charts/expose/templates/configmap.yaml
    apiVersion: v1
    data:
      config.yml: |-
        exposer: Ingress
        domain: 35.230.49.158.nip.io
        http: true
        tls-acme: false
    kind: ConfigMap
    metadata:
      name: exposecontroller
    ---
    # Source: env/charts/cleanup/templates/serviceaccount.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      labels:
        app: cleanup
        chart: "cleanup-2.3.58"
        release: "jx-staging"
        heritage: "Tiller"
      name: cleanup
    ---
    # Source: env/charts/expose/templates/serviceaccount.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      labels:
        app: expose
        chart: "expose-2.3.58"
        release: "jx-staging"
        heritage: "Tiller"
      name: expose
    ---
    # Source: env/charts/cleanup/templates/role.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: cleanup
    rules:
    - apiGroups:
      - extensions
      resources:
      - ingresses
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    - apiGroups:
      - ""
      resources:
      - configmaps
      - services
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - apps
      resources:
      - deployments
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - ""
      - "route.openshift.io"
      resources:
      - routes
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    ---
    # Source: env/charts/expose/templates/role.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: expose
    rules:
    - apiGroups:
      - extensions
      resources:
      - ingresses
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    - apiGroups:
      - ""
      resources:
      - configmaps
      - services
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - apps
      resources:
      - deployments
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - ""
      - "route.openshift.io"
      resources:
      - routes
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    ---
    # Source: env/charts/cleanup/templates/rolebinding.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: cleanup
      namespace: jx-staging
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: cleanup
    subjects:
    - kind: ServiceAccount
      name: cleanup
      namespace: jx-staging
    ---
    # Source: env/charts/expose/templates/rolebinding.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: expose
      namespace: jx-staging
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: expose
    subjects:
    - kind: ServiceAccount
      name: expose
      namespace: jx-staging
    LAST DEPLOYED: Fri Jun  8 09:06:21 2018
    NAMESPACE: jx-staging
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/ConfigMap
    NAME              DATA  AGE
    exposecontroller  1     9s
    
    ==> v1/ServiceAccount
    NAME     SECRETS  AGE
    cleanup  1        9s
    expose   1        9s
    
    ==> v1/Role
    NAME     AGE
    cleanup  9s
    expose   9s
    
    ==> v1/RoleBinding
    NAME     AGE
    cleanup  9s
    expose   9s
    
    
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] }
    [Pipeline] // withEnv
    [Pipeline] }
    [Pipeline] // node
    [Pipeline] End of Pipeline
    
    GitHub has been notified of this commit’s build result
    
    Finished: SUCCESS

    Please find detailed logs of the above command from the Production environment displayed below.

    $ jx get build logs
    ? Which pipeline do you want to view the logs of?:  grohan2002/environment-carpcoal-production/master
    view the log at: http://jenkins.jx.35.230.49.158.nip.io/job/grohan2002/job/environment-carpcoal-production/job/master/1/console
    tailing the log of grohan2002/environment-carpcoal-production/master #1
    Branch indexing
    Connecting to https://api.github.com using grohan2002/****** (API Token for acccessing https://github.com git service inside pipelines)
    Obtained Jenkinsfile from 064603de5cc9f03d0b893fa4aaa6950b7bfe99f1
    Running in Durability level: MAX_SURVIVABILITY
    [Pipeline] node
    Still waiting to schedule task
    maven-5xzh0 is offline
    Running on maven-8hhjb in /home/jenkins/workspace/-carpcoal-production_master-TXWJBDNX3PPVBA42Y2NQBLQ5UXXIJZQJRN5IAG7FWTSCBVLG7VCQ
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Declarative: Checkout SCM)
    [Pipeline] checkout
    Cloning the remote Git repository
    Cloning with configured refspecs honoured and without tags
    Cloning repository https://github.com/grohan2002/environment-carpcoal-production.git
     > git init /home/jenkins/workspace/-carpcoal-production_master-TXWJBDNX3PPVBA42Y2NQBLQ5UXXIJZQJRN5IAG7FWTSCBVLG7VCQ # timeout=10
    Fetching upstream changes from https://github.com/grohan2002/environment-carpcoal-production.git
     > git --version # timeout=10
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/environment-carpcoal-production.git +refs/heads/master:refs/remotes/origin/master
     > git config remote.origin.url https://github.com/grohan2002/environment-carpcoal-production.git # timeout=10
     > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10
     > git config remote.origin.url https://github.com/grohan2002/environment-carpcoal-production.git # timeout=10
    Fetching without tags
    Fetching upstream changes from https://github.com/grohan2002/environment-carpcoal-production.git
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/environment-carpcoal-production.git +refs/heads/master:refs/remotes/origin/master
    Checking out Revision 064603de5cc9f03d0b893fa4aaa6950b7bfe99f1 (master)
     > git config core.sparsecheckout # timeout=10
     > git checkout -f 064603de5cc9f03d0b893fa4aaa6950b7bfe99f1
    Commit message: "Add environment configuration"
    First time build. Skipping changelog.
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] withEnv
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Validate Environment)
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [-carpcoal-production_master-TXWJBDNX3PPVBA42Y2NQBLQ5UXXIJZQJRN5IAG7FWTSCBVLG7VCQ] Running shell script
    + make build
    rm -rf requirements.lock
    helm version
    Client: &version.Version{SemVer:"v2.8.2", GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}
    Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
    helm init
    Creating /home/jenkins/.helm 
    Creating /home/jenkins/.helm/repository 
    Creating /home/jenkins/.helm/repository/cache 
    Creating /home/jenkins/.helm/repository/local 
    Creating /home/jenkins/.helm/plugins 
    Creating /home/jenkins/.helm/starters 
    Creating /home/jenkins/.helm/cache/archive 
    Creating /home/jenkins/.helm/repository/repositories.yaml 
    Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com 
    Adding local repo with URL: http://127.0.0.1:8879/charts 
    $HELM_HOME has been configured at /home/jenkins/.helm.
    Warning: Tiller is already installed in the cluster.
    (Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)
    Happy Helming!
    helm repo add releases http://jenkins-x-chartmuseum:8080
    "releases" has been added to your repositories
    helm repo add jenkins-x http://chartmuseum.build.cd.jenkins-x.io
    "jenkins-x" has been added to your repositories
    helm dependency build "env"
    Hang tight while we grab the latest from your chart repositories...
    ...Unable to get an update from the "local" chart repository (http://127.0.0.1:8879/charts):
    	Get http://127.0.0.1:8879/charts/index.yaml: dial tcp 127.0.0.1:8879: getsockopt: connection refused
    ...Successfully got an update from the "releases" chart repository
    ...Successfully got an update from the "stable" chart repository
    ...Successfully got an update from the "jenkins-x" chart repository
    Update Complete. ⎈Happy Helming!
    Saving 2 charts
    Downloading exposecontroller from repo http://chartmuseum.build.cd.jenkins-x.io
    Downloading exposecontroller from repo http://chartmuseum.build.cd.jenkins-x.io
    Deleting outdated charts
    helm lint "env"
    ==> Linting env
    Lint OK
    
    1 chart(s) linted, no failures
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (Update Environment)
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [-carpcoal-production_master-TXWJBDNX3PPVBA42Y2NQBLQ5UXXIJZQJRN5IAG7FWTSCBVLG7VCQ] Running shell script
    + make install
    helm upgrade "jx-production" "env" --install --namespace "jx-production" --debug
    [debug] Created tunnel using local port: '38796'
    
    [debug] SERVER: "127.0.0.1:38796"
    
    Release "jx-production" does not exist. Installing it now.
    [debug] CHART PATH: /home/jenkins/workspace/-carpcoal-production_master-TXWJBDNX3PPVBA42Y2NQBLQ5UXXIJZQJRN5IAG7FWTSCBVLG7VCQ/env
    
    NAME:   jx-production
    REVISION: 1
    RELEASED: Fri Jun  8 09:08:34 2018
    CHART: env-0.0.1
    USER-SUPPLIED VALUES:
    {}
    
    COMPUTED VALUES:
    cleanup:
      Annotations:
        helm.sh/hook: pre-delete
        helm.sh/hook-delete-policy: hook-succeeded
      Args:
      - --cleanup
      BackoffLimit: 5
      Image: jenkinsxio/exposecontroller
      ImageTag: 2.3.58
      global: {}
    expose:
      Annotations:
        helm.sh/hook: post-install,post-upgrade
        helm.sh/hook-delete-policy: hook-succeeded
      BackoffLimit: 5
      Image: jenkinsxio/exposecontroller
      ImageTag: 2.3.58
      config:
        domain: 35.230.49.158.nip.io
        exposer: Ingress
        http: "true"
        tlsacme: "false"
      global: {}
    
    HOOKS:
    ---
    # cleanup
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: cleanup
      labels:
        heritage: "Tiller"
        release: "jx-production"
        chart: "cleanup-2.3.58"
        component: "jx-production-cleanup"
      name: cleanup
      annotations:
        helm.sh/hook: pre-delete
        helm.sh/hook-delete-policy: hook-succeeded
        
    spec:
      # backoffLimit: 5
      template:
        metadata:
          name: "jx-production"
          labels:
            heritage: "Tiller"
            release: "jx-production"
            chart: "cleanup-2.3.58"
        spec:
          containers:
          - env:
            - name: KUBERNETES_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            image: "jenkinsxio/exposecontroller:2.3.58"
            name: cleanup
            command: ["/exposecontroller"]
            args:
            - "--cleanup"
          serviceAccountName: cleanup
          restartPolicy: Never
    ---
    # expose
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: expose
      labels:
        heritage: "Tiller"
        release: "jx-production"
        chart: "expose-2.3.58"
        component: "jx-production-expose"
      name: expose
      annotations:
        helm.sh/hook: post-install,post-upgrade
        helm.sh/hook-delete-policy: hook-succeeded
        
    spec:
      # backoffLimit: 5
      template:
        metadata:
          name: "jx-production"
          labels:
            heritage: "Tiller"
            release: "jx-production"
            chart: "expose-2.3.58"
        spec:
          containers:
          - env:
            - name: KUBERNETES_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            image: "jenkinsxio/exposecontroller:2.3.58"
            name: expose
            command: ["/exposecontroller"]
            args:
          serviceAccountName: expose
          restartPolicy: Never
    MANIFEST:
    
    ---
    # Source: env/charts/expose/templates/configmap.yaml
    apiVersion: v1
    data:
      config.yml: |-
        exposer: Ingress
        domain: 35.230.49.158.nip.io
        http: true
        tls-acme: false
    kind: ConfigMap
    metadata:
      name: exposecontroller
    ---
    # Source: env/charts/cleanup/templates/serviceaccount.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      labels:
        app: cleanup
        chart: "cleanup-2.3.58"
        release: "jx-production"
        heritage: "Tiller"
      name: cleanup
    ---
    # Source: env/charts/expose/templates/serviceaccount.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      labels:
        app: expose
        chart: "expose-2.3.58"
        release: "jx-production"
        heritage: "Tiller"
      name: expose
    ---
    # Source: env/charts/cleanup/templates/role.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: cleanup
    rules:
    - apiGroups:
      - extensions
      resources:
      - ingresses
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    - apiGroups:
      - ""
      resources:
      - configmaps
      - services
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - apps
      resources:
      - deployments
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - ""
      - "route.openshift.io"
      resources:
      - routes
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    ---
    # Source: env/charts/expose/templates/role.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: expose
    rules:
    - apiGroups:
      - extensions
      resources:
      - ingresses
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    - apiGroups:
      - ""
      resources:
      - configmaps
      - services
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - apps
      resources:
      - deployments
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - ""
      - "route.openshift.io"
      resources:
      - routes
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    ---
    # Source: env/charts/cleanup/templates/rolebinding.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: cleanup
      namespace: jx-production
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: cleanup
    subjects:
    - kind: ServiceAccount
      name: cleanup
      namespace: jx-production
    ---
    # Source: env/charts/expose/templates/rolebinding.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: expose
      namespace: jx-production
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: expose
    subjects:
    - kind: ServiceAccount
      name: expose
      namespace: jx-production
    LAST DEPLOYED: Fri Jun  8 09:08:34 2018
    NAMESPACE: jx-production
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/ConfigMap
    NAME              DATA  AGE
    exposecontroller  1     9s
    
    ==> v1/ServiceAccount
    NAME     SECRETS  AGE
    cleanup  1        9s
    expose   1        9s
    
    ==> v1/Role
    NAME     AGE
    cleanup  9s
    expose   8s
    
    ==> v1/RoleBinding
    NAME     AGE
    cleanup  8s
    expose   8s
    
    
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] }
    [Pipeline] // withEnv
    [Pipeline] }
    [Pipeline] // node
    [Pipeline] End of Pipeline
    
    GitHub has been notified of this commit’s build result
    
    Finished: SUCCESS

    Jenkins X has been successfully installed and default environments are created on our new GKE cluster.

    How to create an application on Jenkins X

    The following steps creates a sample Spring Boot application and import it into Jenkins X.

    1. Command to create Spring Application 

    jx create spring

    It will prompt for some questions like the type of project, mvn group ID, artefact name, spring boot dependencies etc. It initializes this project as a Git repository. It adds some extra files to the repo i.e. Dockerfile, Jenkinsfile, charts etc. This will create a repository in GitHub. Also creates a project in Jenkins and registers webhooks in the Git repository.

    2. Command to get build logs

    jx get build logs

    aditi@EMP:/tmp$ jx get build logs
    ? Which pipeline do you want to view the logs of?:  grohan2002/demo08/master
    view the log at: http://jenkins.jx.35.230.49.158.nip.io/job/grohan2002/job/demo08/job/master/1/console
    tailing the log of grohan2002/demo08/master #1
    Branch indexing
    Connecting to https://api.github.com using grohan2002/****** (API Token for acccessing https://github.com git service inside pipelines)
    Obtained Jenkinsfile from efc077e94f0b7820ee4a626bd921e5da208ecf8a
    Running in Durability level: MAX_SURVIVABILITY
    [Pipeline] node
    Still waiting to schedule task
    Waiting for next available executor
    Running on maven-0tbjd in /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Declarative: Checkout SCM)
    [Pipeline] checkout
    Cloning the remote Git repository
    Cloning with configured refspecs honoured and without tags
    Cloning repository https://github.com/grohan2002/demo08.git
     > git init /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A # timeout=10
    Fetching upstream changes from https://github.com/grohan2002/demo08.git
     > git --version # timeout=10
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/demo08.git +refs/heads/master:refs/remotes/origin/master
     > git config remote.origin.url https://github.com/grohan2002/demo08.git # timeout=10
     > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10
     > git config remote.origin.url https://github.com/grohan2002/demo08.git # timeout=10
    Fetching without tags
    Fetching upstream changes from https://github.com/grohan2002/demo08.git
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/demo08.git +refs/heads/master:refs/remotes/origin/master
    Checking out Revision efc077e94f0b7820ee4a626bd921e5da208ecf8a (master)
     > git config core.sparsecheckout # timeout=10
     > git checkout -f efc077e94f0b7820ee4a626bd921e5da208ecf8a
    Commit message: "Draft create"
    First time build. Skipping changelog.
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] withEnv
    [Pipeline] {
    [Pipeline] withCredentials
    [Pipeline] {
    [Pipeline] withEnv
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (CI Build and push snapshot)
    Stage 'CI Build and push snapshot' skipped due to when conditional
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (Build Release)
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + git checkout master
    Switched to a new branch 'master'
    Branch master set up to track remote branch master from origin.
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + git config --global credential.helper store
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + jx step validate --min-jx-version 1.1.73
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + jx step git credentials
    Generated git credentials file /home/jenkins/git/credentials
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    ++ jx-release-version
    + echo 0.0.1
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    ++ cat VERSION
    + mvn versions:set -DnewVersion=0.0.1
    Picked up _JAVA_OPTIONS: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Xms10m -Xmx192m
    [INFO] Scanning for projects...
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-parent/2.0.2.RELEASE/spring-boot-starter-parent-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-parent/2.0.2.RELEASE/spring-boot-starter-parent-2.0.2.RELEASE.pom (12 KB at 5.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-dependencies/2.0.2.RELEASE/spring-boot-dependencies-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-dependencies/2.0.2.RELEASE/spring-boot-dependencies-2.0.2.RELEASE.pom (133 KB at 498.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-bom/2.9.5/jackson-bom-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-bom/2.9.5/jackson-bom-2.9.5.pom (13 KB at 82.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-parent/2.9.1/jackson-parent-2.9.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-parent/2.9.1/jackson-parent-2.9.1.pom (8 KB at 61.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/oss-parent/30/oss-parent-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/oss-parent/30/oss-parent-30.pom (21 KB at 169.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/io/netty/netty-bom/4.1.24.Final/netty-bom-4.1.24.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/io/netty/netty-bom/4.1.24.Final/netty-bom-4.1.24.Final.pom (8 KB at 86.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/oss/oss-parent/7/oss-parent-7.pom (5 KB at 51.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/io/projectreactor/reactor-bom/Bismuth-SR9/reactor-bom-Bismuth-SR9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/io/projectreactor/reactor-bom/Bismuth-SR9/reactor-bom-Bismuth-SR9.pom (4 KB at 32.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-bom/2.10.0/log4j-bom-2.10.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-bom/2.10.0/log4j-bom-2.10.0.pom (6 KB at 53.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/logging-parent/1/logging-parent-1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/logging-parent/1/logging-parent-1.pom (4 KB at 26.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/18/apache-18.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/18/apache-18.pom (16 KB at 121.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/jetty/jetty-bom/9.4.10.v20180503/jetty-bom-9.4.10.v20180503.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/jetty/jetty-bom/9.4.10.v20180503/jetty-bom-9.4.10.v20180503.pom (18 KB at 129.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-framework-bom/5.0.6.RELEASE/spring-framework-bom-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-framework-bom/5.0.6.RELEASE/spring-framework-bom-5.0.6.RELEASE.pom (6 KB at 20.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/data/spring-data-releasetrain/Kay-SR7/spring-data-releasetrain-Kay-SR7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/data/spring-data-releasetrain/Kay-SR7/spring-data-releasetrain-Kay-SR7.pom (5 KB at 37.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/data/build/spring-data-build/2.0.7.RELEASE/spring-data-build-2.0.7.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/data/build/spring-data-build/2.0.7.RELEASE/spring-data-build-2.0.7.RELEASE.pom (7 KB at 57.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/integration/spring-integration-bom/5.0.5.RELEASE/spring-integration-bom-5.0.5.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/integration/spring-integration-bom/5.0.5.RELEASE/spring-integration-bom-5.0.5.RELEASE.pom (9 KB at 106.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/security/spring-security-bom/5.0.5.RELEASE/spring-security-bom-5.0.5.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/security/spring-security-bom/5.0.5.RELEASE/spring-security-bom-5.0.5.RELEASE.pom (5 KB at 53.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/session/spring-session-bom/Apple-SR2/spring-session-bom-Apple-SR2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/session/spring-session-bom/Apple-SR2/spring-session-bom-Apple-SR2.pom (3 KB at 26.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-maven-plugin/2.0.2.RELEASE/spring-boot-maven-plugin-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-maven-plugin/2.0.2.RELEASE/spring-boot-maven-plugin-2.0.2.RELEASE.pom (5 KB at 41.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-tools/2.0.2.RELEASE/spring-boot-tools-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-tools/2.0.2.RELEASE/spring-boot-tools-2.0.2.RELEASE.pom (2 KB at 14.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-parent/2.0.2.RELEASE/spring-boot-parent-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-parent/2.0.2.RELEASE/spring-boot-parent-2.0.2.RELEASE.pom (2 KB at 10.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-maven-plugin/2.0.2.RELEASE/spring-boot-maven-plugin-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-maven-plugin/2.0.2.RELEASE/spring-boot-maven-plugin-2.0.2.RELEASE.jar (63 KB at 520.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.pom (5 KB at 30.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/28/maven-plugins-28.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/28/maven-plugins-28.pom (12 KB at 100.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/27/maven-parent-27.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/27/maven-parent-27.pom (40 KB at 393.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/17/apache-17.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/17/apache-17.pom (16 KB at 161.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.jar (30 KB at 282.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-resources-plugin/3.0.1/maven-resources-plugin-3.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-resources-plugin/3.0.1/maven-resources-plugin-3.0.1.pom (7 KB at 68.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/30/maven-plugins-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/30/maven-plugins-30.pom (10 KB at 115.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/30/maven-parent-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/30/maven-parent-30.pom (41 KB at 411.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-resources-plugin/3.0.1/maven-resources-plugin-3.0.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-resources-plugin/3.0.1/maven-resources-plugin-3.0.1.jar (31 KB at 341.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-jar-plugin/3.0.2/maven-jar-plugin-3.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-jar-plugin/3.0.2/maven-jar-plugin-3.0.2.pom (7 KB at 66.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-jar-plugin/3.0.2/maven-jar-plugin-3.0.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-jar-plugin/3.0.2/maven-jar-plugin-3.0.2.jar (27 KB at 321.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-compiler-plugin/3.7.0/maven-compiler-plugin-3.7.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-compiler-plugin/3.7.0/maven-compiler-plugin-3.7.0.pom (11 KB at 113.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-compiler-plugin/3.7.0/maven-compiler-plugin-3.7.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-compiler-plugin/3.7.0/maven-compiler-plugin-3.7.0.jar (57 KB at 598.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-surefire-plugin/2.21.0/maven-surefire-plugin-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-surefire-plugin/2.21.0/maven-surefire-plugin-2.21.0.pom (6 KB at 56.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire/2.21.0/surefire-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire/2.21.0/surefire-2.21.0.pom (28 KB at 236.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-surefire-plugin/2.21.0/maven-surefire-plugin-2.21.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-surefire-plugin/2.21.0/maven-surefire-plugin-2.21.0.jar (40 KB at 389.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2.pom (7 KB at 66.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/25/maven-plugins-25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/25/maven-plugins-25.pom (10 KB at 87.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/24/maven-parent-24.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/24/maven-parent-24.pom (37 KB at 327.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/14/apache-14.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/14/apache-14.pom (15 KB at 177.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2.jar (33 KB at 437.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-deploy-plugin/2.8.2/maven-deploy-plugin-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-deploy-plugin/2.8.2/maven-deploy-plugin-2.8.2.pom (7 KB at 98.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-deploy-plugin/2.8.2/maven-deploy-plugin-2.8.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-deploy-plugin/2.8.2/maven-deploy-plugin-2.8.2.jar (34 KB at 432.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-site-plugin/3.6/maven-site-plugin-3.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-site-plugin/3.6/maven-site-plugin-3.6.pom (18 KB at 138.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-site-plugin/3.6/maven-site-plugin-3.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-site-plugin/3.6/maven-site-plugin-3.6.jar (130 KB at 1318.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-maven-plugin/1.2.41/kotlin-maven-plugin-1.2.41.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-maven-plugin/1.2.41/kotlin-maven-plugin-1.2.41.pom (6 KB at 52.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-project/1.2.41/kotlin-project-1.2.41.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-project/1.2.41/kotlin-project-1.2.41.pom (10 KB at 120.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-maven-plugin/1.2.41/kotlin-maven-plugin-1.2.41.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-maven-plugin/1.2.41/kotlin-maven-plugin-1.2.41.jar (77 KB at 719.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jooq/jooq-codegen-maven/3.10.7/jooq-codegen-maven-3.10.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jooq/jooq-codegen-maven/3.10.7/jooq-codegen-maven-3.10.7.pom (4 KB at 29.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jooq/jooq-parent/3.10.7/jooq-parent-3.10.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jooq/jooq-parent/3.10.7/jooq-parent-3.10.7.pom (11 KB at 121.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jooq/jooq-codegen-maven/3.10.7/jooq-codegen-maven-3.10.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jooq/jooq-codegen-maven/3.10.7/jooq-codegen-maven-3.10.7.jar (16 KB at 164.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-antrun-plugin/1.8/maven-antrun-plugin-1.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-antrun-plugin/1.8/maven-antrun-plugin-1.8.pom (4 KB at 32.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/27/maven-plugins-27.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/27/maven-plugins-27.pom (12 KB at 132.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/26/maven-parent-26.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/26/maven-parent-26.pom (39 KB at 332.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/16/apache-16.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/16/apache-16.pom (16 KB at 90.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-antrun-plugin/1.8/maven-antrun-plugin-1.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-antrun-plugin/1.8/maven-antrun-plugin-1.8.jar (36 KB at 382.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0.pom (16 KB at 184.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0.jar (236 KB at 1601.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.pom (14 KB at 138.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.jar (163 KB at 1463.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-release-plugin/2.3.2/maven-release-plugin-2.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-release-plugin/2.3.2/maven-release-plugin-2.3.2.pom (10 KB at 91.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/release/maven-release/2.3.2/maven-release-2.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/release/maven-release/2.3.2/maven-release-2.3.2.pom (9 KB at 79.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/21/maven-parent-21.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/21/maven-parent-21.pom (26 KB at 396.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/10/apache-10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/10/apache-10.pom (15 KB at 192.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-release-plugin/2.3.2/maven-release-plugin-2.3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-release-plugin/2.3.2/maven-release-plugin-2.3.2.jar (44 KB at 577.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-eclipse-plugin/2.10/maven-eclipse-plugin-2.10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-eclipse-plugin/2.10/maven-eclipse-plugin-2.10.pom (19 KB at 200.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-eclipse-plugin/2.10/maven-eclipse-plugin-2.10.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-eclipse-plugin/2.10/maven-eclipse-plugin-2.10.jar (219 KB at 1654.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M1/maven-enforcer-plugin-3.0.0-M1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M1/maven-enforcer-plugin-3.0.0-M1.pom (8 KB at 83.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/enforcer/enforcer/3.0.0-M1/enforcer-3.0.0-M1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/enforcer/enforcer/3.0.0-M1/enforcer-3.0.0-M1.pom (9 KB at 90.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M1/maven-enforcer-plugin-3.0.0-M1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M1/maven-enforcer-plugin-3.0.0-M1.jar (26 KB at 263.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-failsafe-plugin/2.21.0/maven-failsafe-plugin-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-failsafe-plugin/2.21.0/maven-failsafe-plugin-2.21.0.pom (12 KB at 123.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-failsafe-plugin/2.21.0/maven-failsafe-plugin-2.21.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-failsafe-plugin/2.21.0/maven-failsafe-plugin-2.21.0.jar (288 KB at 2142.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-invoker-plugin/3.0.0/maven-invoker-plugin-3.0.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-invoker-plugin/3.0.0/maven-invoker-plugin-3.0.0.pom (14 KB at 145.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-invoker-plugin/3.0.0/maven-invoker-plugin-3.0.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-invoker-plugin/3.0.0/maven-invoker-plugin-3.0.0.jar (111 KB at 1264.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-help-plugin/2.2/maven-help-plugin-2.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-help-plugin/2.2/maven-help-plugin-2.2.pom (9 KB at 107.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom (11 KB at 155.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/23/maven-parent-23.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/23/maven-parent-23.pom (32 KB at 227.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/13/apache-13.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/13/apache-13.pom (14 KB at 166.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-help-plugin/2.2/maven-help-plugin-2.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-help-plugin/2.2/maven-help-plugin-2.2.jar (67 KB at 827.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-javadoc-plugin/3.0.0/maven-javadoc-plugin-3.0.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-javadoc-plugin/3.0.0/maven-javadoc-plugin-3.0.0.pom (18 KB at 254.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-javadoc-plugin/3.0.0/maven-javadoc-plugin-3.0.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-javadoc-plugin/3.0.0/maven-javadoc-plugin-3.0.0.jar (406 KB at 3074.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.4.3/maven-shade-plugin-2.4.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.4.3/maven-shade-plugin-2.4.3.pom (9 KB at 110.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.4.3/maven-shade-plugin-2.4.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.4.3/maven-shade-plugin-2.4.3.jar (102 KB at 982.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-source-plugin/3.0.1/maven-source-plugin-3.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-source-plugin/3.0.1/maven-source-plugin-3.0.1.pom (6 KB at 66.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-source-plugin/3.0.1/maven-source-plugin-3.0.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-source-plugin/3.0.1/maven-source-plugin-3.0.1.jar (31 KB at 426.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-war-plugin/3.1.0/maven-war-plugin-3.1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-war-plugin/3.1.0/maven-war-plugin-3.1.0.pom (10 KB at 135.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-war-plugin/3.1.0/maven-war-plugin-3.1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-war-plugin/3.1.0/maven-war-plugin-3.1.0.jar (90 KB at 1220.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/build-helper-maven-plugin/3.0.0/build-helper-maven-plugin-3.0.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/build-helper-maven-plugin/3.0.0/build-helper-maven-plugin-3.0.0.pom (6 KB at 71.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/40/mojo-parent-40.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/40/mojo-parent-40.pom (33 KB at 490.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/build-helper-maven-plugin/3.0.0/build-helper-maven-plugin-3.0.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/build-helper-maven-plugin/3.0.0/build-helper-maven-plugin-3.0.0.jar (63 KB at 861.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/exec-maven-plugin/1.5.0/exec-maven-plugin-1.5.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/exec-maven-plugin/1.5.0/exec-maven-plugin-1.5.0.pom (13 KB at 152.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/38/mojo-parent-38.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/38/mojo-parent-38.pom (33 KB at 398.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/exec-maven-plugin/1.5.0/exec-maven-plugin-1.5.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/exec-maven-plugin/1.5.0/exec-maven-plugin-1.5.0.jar (53 KB at 619.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/versions-maven-plugin/2.3/versions-maven-plugin-2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/versions-maven-plugin/2.3/versions-maven-plugin-2.3.pom (16 KB at 177.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/39/mojo-parent-39.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/39/mojo-parent-39.pom (34 KB at 429.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/versions-maven-plugin/2.3/versions-maven-plugin-2.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/versions-maven-plugin/2.3/versions-maven-plugin-2.3.jar (257 KB at 3210.0 KB/sec)
    [INFO]                   
    [INFO] ------------------------------------------------------------------------
    [INFO] Building demo 0.0.1-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- versions-maven-plugin:2.3:set (default-cli) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom (2 KB at 18.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven/2.2.1/maven-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven/2.2.1/maven-2.2.1.pom (22 KB at 263.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/11/maven-parent-11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/11/maven-parent-11.pom (32 KB at 400.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/5/apache-5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/5/apache-5.pom (5 KB at 62.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom (7 KB at 98.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom (12 KB at 182.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.pom (4 KB at 42.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.pom (2 KB at 25.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom (4 KB at 50.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom (492 B at 7.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom (6 KB at 51.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/junit/junit/4.12/junit-4.12.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/junit/junit/4.12/junit-4.12.pom (24 KB at 159.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom (766 B at 6.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom (2 KB at 28.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom (7 KB at 79.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom (4 KB at 39.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom (880 B at 11.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.pom (12 KB at 153.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.pom (3 KB at 30.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom (4 KB at 41.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom (889 B at 9.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom (6 KB at 82.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.pom (2 KB at 24.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.pom (2 KB at 22.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-parent/1.5.6/slf4j-parent-1.5.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-parent/1.5.6/slf4j-parent-1.5.6.pom (8 KB at 61.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.pom (3 KB at 42.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.pom (3 KB at 30.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.pom (2 KB at 31.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting/2.2.1/maven-reporting-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting/2.2.1/maven-reporting-2.2.1.pom (2 KB at 22.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.pom (2 KB at 26.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.1/doxia-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.1/doxia-1.1.pom (15 KB at 231.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.pom (2 KB at 29.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom (4 KB at 43.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom (2 KB at 28.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom (9 KB at 134.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom (3 KB at 30.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom (4 KB at 49.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom (9 KB at 99.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.pom (3 KB at 16.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.pom (2 KB at 25.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.pom (3 KB at 38.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.pom (2 KB at 21.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-cli/commons-cli/1.2/commons-cli-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-cli/commons-cli/1.2/commons-cli-1.2.pom (8 KB at 92.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/11/commons-parent-11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/11/commons-parent-11.pom (25 KB at 183.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/4/apache-4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/4/apache-4.pom (5 KB at 67.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom (2 KB at 9.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.pom (3 KB at 33.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom (7 KB at 85.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.pom (2 KB at 17.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/classworlds/classworlds/1.1/classworlds-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/classworlds/classworlds/1.1/classworlds-1.1.pom (4 KB at 56.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom (3 KB at 39.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/12/spice-parent-12.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/12/spice-parent-12.pom (7 KB at 46.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/4/forge-parent-4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/4/forge-parent-4.pom (9 KB at 120.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom (6 KB at 81.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom (3 KB at 26.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom (3 KB at 21.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom (10 KB at 55.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/16/maven-parent-16.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/16/maven-parent-16.pom (23 KB at 247.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/7/apache-7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/7/apache-7.pom (15 KB at 243.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom (2 KB at 21.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom (10 KB at 129.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/10/maven-parent-10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/10/maven-parent-10.pom (31 KB at 441.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-impl/2.2/maven-reporting-impl-2.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-impl/2.2/maven-reporting-impl-2.2.pom (5 KB at 79.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom (9 KB at 139.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.2/doxia-sink-api-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.2/doxia-sink-api-1.2.pom (2 KB at 25.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom (19 KB at 259.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/19/maven-parent-19.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/19/maven-parent-19.pom (25 KB at 421.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/9/apache-9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/9/apache-9.pom (15 KB at 259.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom (2 KB at 28.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.2/doxia-core-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.2/doxia-core-1.2.pom (4 KB at 36.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom (4 KB at 33.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom (17 KB at 209.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom (2 KB at 14.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom (2 KB at 25.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/3/apache-3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/3/apache-3.pom (4 KB at 50.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-lang/commons-lang/2.4/commons-lang-2.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-lang/commons-lang/2.4/commons-lang-2.4.pom (14 KB at 151.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/9/commons-parent-9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/9/commons-parent-9.pom (22 KB at 329.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom (8 KB at 97.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom (9 KB at 44.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/project/4.1/project-4.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/project/4.1/project-4.1.pom (16 KB at 177.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom (5 KB at 69.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom (10 KB at 198.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/project/4.0/project-4.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/project/4.0/project-4.0.pom (13 KB at 209.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom (18 KB at 259.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/5/commons-parent-5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/5/commons-parent-5.pom (16 KB at 237.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-codec/commons-codec/1.3/commons-codec-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-codec/commons-codec/1.3/commons-codec-1.3.pom (6 KB at 74.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.2/doxia-site-renderer-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.2/doxia-site-renderer-1.2.pom (7 KB at 77.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom (16 KB at 217.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom (3 KB at 40.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.2/doxia-module-xhtml-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.2/doxia-module-xhtml-1.2.pom (2 KB at 14.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-modules/1.2/doxia-modules-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-modules/1.2/doxia-modules-1.2.pom (3 KB at 31.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.2/doxia-module-fml-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.2/doxia-module-fml-1.2.pom (6 KB at 57.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom (2 KB at 13.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom (3 KB at 36.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom (2 KB at 29.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom (2 KB at 29.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom (3 KB at 53.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom (2 KB at 30.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom (2 KB at 15.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom (8 KB at 119.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom (3 KB at 39.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom (8 KB at 98.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.5/velocity-1.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.5/velocity-1.5.pom (8 KB at 99.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/3.1/commons-collections-3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/3.1/commons-collections-3.1.pom (6 KB at 88.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-lang/commons-lang/2.1/commons-lang-2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-lang/commons-lang/2.1/commons-lang-2.1.pom (10 KB at 144.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/oro/oro/2.0.8/oro-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/oro/oro/2.0.8/oro-2.0.8.pom (140 B at 2.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom (13 KB at 203.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom (9 KB at 152.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom (357 B at 5.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom (866 B at 13.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-digester/commons-digester/1.6/commons-digester-1.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-digester/commons-digester/1.6/commons-digester-1.6.pom (974 B at 14.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom (3 KB at 41.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0/commons-logging-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0/commons-logging-1.0.pom (163 B at 1.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/2.0/commons-collections-2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/2.0/commons-collections-2.0.pom (171 B at 2.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/2.1/commons-collections-2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/2.1/commons-collections-2.1.pom (4 KB at 61.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom (3 KB at 30.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom (6 KB at 93.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom (8 KB at 121.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom (4 KB at 51.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom (2 KB at 28.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven/2.0.8/maven-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven/2.0.8/maven-2.0.8.pom (12 KB at 193.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/6/maven-parent-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/6/maven-parent-6.pom (20 KB at 310.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom (3 KB at 37.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom (4 KB at 50.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom (3 KB at 39.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom (3 KB at 16.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom (2 KB at 35.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom (3 KB at 41.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom (2 KB at 29.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom (2 KB at 28.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom (3 KB at 42.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom (5 KB at 34.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom (17 KB at 268.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom (4 KB at 65.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom (16 KB at 225.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom (3 KB at 37.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/xbean/xbean/3.4/xbean-3.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/xbean/xbean/3.4/xbean-3.4.pom (19 KB at 262.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/log4j/log4j/1.2.12/log4j-1.2.12.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/log4j/log4j/1.2.12/log4j-1.2.12.pom (145 B at 2.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom (6 KB at 85.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/collections/google-collections/1.0/google-collections-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/collections/google-collections/1.0/google-collections-1.0.pom (3 KB at 43.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/google/1/google-1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/google/1/google-1.pom (2 KB at 27.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom (4 KB at 63.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/16/spice-parent-16.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/16/spice-parent-16.pom (9 KB at 125.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/5/forge-parent-5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/5/forge-parent-5.pom (9 KB at 108.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/2.5/wagon-provider-api-2.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/2.5/wagon-provider-api-2.5.pom (2 KB at 29.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon/2.5/wagon-2.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon/2.5/wagon-2.5.pom (20 KB at 251.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom (4 KB at 22.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.2/plexus-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.2/plexus-3.2.pom (19 KB at 300.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/17/spice-parent-17.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/17/spice-parent-17.pom (7 KB at 113.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/10/forge-parent-10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/10/forge-parent-10.pom (14 KB at 81.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-file/2.5/wagon-file-2.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-file/2.5/wagon-file-2.5.pom (2 KB at 27.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-providers/2.5/wagon-providers-2.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-providers/2.5/wagon-providers-2.5.pom (3 KB at 42.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-lang/commons-lang/2.6/commons-lang-2.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-lang/commons-lang/2.6/commons-lang-2.6.pom (18 KB at 284.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/17/commons-parent-17.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/17/commons-parent-17.pom (31 KB at 491.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.pom (4 KB at 67.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.4/doxia-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.4/doxia-1.4.pom (18 KB at 254.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.pom (2 KB at 25.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.pom (2 KB at 19.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom (4 KB at 43.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3/plexus-3.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3/plexus-3.3.pom (20 KB at 269.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom (815 B at 14.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.pom (6 KB at 102.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sitetools/1.4/doxia-sitetools-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sitetools/1.4/doxia-sitetools-1.4.pom (17 KB at 217.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.pom (3 KB at 42.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.pom (2 KB at 26.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-modules/1.4/doxia-modules-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-modules/1.4/doxia-modules-1.4.pom (3 KB at 36.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.pom (5 KB at 68.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom (18 KB at 273.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-digester/commons-digester/1.8/commons-digester-1.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-digester/commons-digester/1.8/commons-digester-1.8.pom (7 KB at 103.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.1/commons-logging-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.1/commons-logging-1.1.pom (7 KB at 97.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/logkit/logkit/1.0.1/logkit-1.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/logkit/logkit/1.0.1/logkit-1.0.1.pom (147 B at 2.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom (167 B at 2.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/servlet/servlet-api/2.3/servlet-api-2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/servlet/servlet-api/2.3/servlet-api-2.3.pom (156 B at 2.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-chain/commons-chain/1.1/commons-chain-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-chain/commons-chain/1.1/commons-chain-1.1.pom (6 KB at 90.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2/commons-collections-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2/commons-collections-3.2.pom (11 KB at 165.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/dom4j/dom4j/1.1/dom4j-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/dom4j/dom4j/1.1/dom4j-1.1.pom (142 B at 2.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/sslext/sslext/1.2-0/sslext-1.2-0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/sslext/sslext/1.2-0/sslext-1.2-0.pom (653 B at 12.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom (5 KB at 79.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom (10 KB at 61.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-master/4/struts-master-4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-master/4/struts-master-4.pom (12 KB at 214.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/2/apache-2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/2/apache-2.pom (4 KB at 38.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/antlr/antlr/2.7.2/antlr-2.7.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/antlr/antlr/2.7.2/antlr-2.7.2.pom (145 B at 2.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom (4 KB at 44.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom (3 KB at 49.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom (11 KB at 138.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.pom (4 KB at 70.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom (20 KB at 327.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom (726 B at 5.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom (2 KB at 15.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom (3 KB at 31.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom (2 KB at 14.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.pom (3 KB at 22.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.pom (2 KB at 25.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.pom (962 B at 18.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.pom (2 KB at 20.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.jar (79 KB at 891.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.jar (22 KB at 151.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar (9 KB at 28.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.jar (66 KB at 179.3 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.jar (26 KB at 68.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar (22 KB at 50.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.jar (174 KB at 390.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-cli/commons-cli/1.2/commons-cli-1.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar (324 KB at 665.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar (17 KB at 32.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/classworlds/classworlds/1.1/classworlds-1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.jar (13 KB at 23.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.jar (35 KB at 63.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.jar (11 KB at 17.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-cli/commons-cli/1.2/commons-cli-1.2.jar (41 KB at 62.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/classworlds/classworlds/1.1/classworlds-1.1.jar (37 KB at 51.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar (14 KB at 17.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar (28 KB at 36.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.jar (13 KB at 15.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar (86 KB at 105.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.jar (39 KB at 43.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar (50 KB at 51.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-impl/2.2/maven-reporting-impl-2.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.jar (30 KB at 28.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.jar (48 KB at 46.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar (11 KB at 10.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-digester/commons-digester/1.6/commons-digester-1.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.jar (153 KB at 144.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-impl/2.2/maven-reporting-impl-2.2.jar (17 KB at 14.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar (38 KB at 28.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/2.5/wagon-provider-api-2.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar (136 KB at 98.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-file/2.5/wagon-file-2.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar (31 KB at 21.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar (185 KB at 129.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-digester/commons-digester/1.6/commons-digester-1.6.jar (165 KB at 109.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/2.5/wagon-provider-api-2.5.jar (52 KB at 34.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.jar (162 KB at 103.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-file/2.5/wagon-file-2.5.jar (11 KB at 6.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.jar (12 KB at 6.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-codec/commons-codec/1.3/commons-codec-1.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar (5 KB at 2.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-codec/commons-codec/1.3/commons-codec-1.3.jar (46 KB at 24.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar (190 KB at 103.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar (287 KB at 153.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar (169 KB at 87.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.jar (11 KB at 5.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.jar (52 KB at 25.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.jar (60 KB at 28.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.5/velocity-1.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.jar (37 KB at 17.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/oro/oro/2.0.8/oro-2.0.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.jar (16 KB at 6.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar (8 KB at 3.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-chain/commons-chain/1.1/commons-chain-1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar (1201 KB at 517.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/dom4j/dom4j/1.1/dom4j-1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.5/velocity-1.5.jar (383 KB at 159.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/sslext/sslext/1.2-0/sslext-1.2-0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/oro/oro/2.0.8/oro-2.0.8.jar (64 KB at 26.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-chain/commons-chain/1.1/commons-chain-1.1.jar (88 KB at 35.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/antlr/antlr/2.7.2/antlr-2.7.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar (339 KB at 135.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/dom4j/dom4j/1.1/dom4j-1.1.jar (447 KB at 177.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/sslext/sslext/1.2-0/sslext-1.2-0.jar (26 KB at 10.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar (322 KB at 124.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar (117 KB at 44.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.jar (238 KB at 88.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar (246 KB at 90.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/antlr/antlr/2.7.2/antlr-2.7.2.jar (350 KB at 128.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/log4j/log4j/1.2.12/log4j-1.2.12.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.jar (46 KB at 15.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.jar (212 KB at 73.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/collections/google-collections/1.0/google-collections-1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar (562 KB at 194.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.jar (131 KB at 44.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/log4j/log4j/1.2.12/log4j-1.2.12.jar (350 KB at 114.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar (44 KB at 14.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar (12 KB at 3.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.jar (12 KB at 3.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar (23 KB at 6.8 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/collections/google-collections/1.0/google-collections-1.0.jar (625 KB at 185.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.jar (178 KB at 52.2 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-lang/commons-lang/2.6/commons-lang-2.6.jar (278 KB at 81.4 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.jar (471 KB at 136.4 KB/sec)
    [INFO] Searching for local aggregator root...
    [INFO] Local aggregation root: /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A
    [INFO] Processing change of com.example:demo08:0.0.1-SNAPSHOT -> 0.0.1
    [INFO] Processing com.example:demo08
    [INFO]     Updating project com.example:demo08
    [INFO]         from version 0.0.1-SNAPSHOT to 0.0.1
    [INFO] 
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 36.712 s
    [INFO] Finished at: 2018-06-08T09:26:19+00:00
    [INFO] Final Memory: 17M/22M
    [INFO] ------------------------------------------------------------------------
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] dir
    Running in /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/charts/demo08
    [Pipeline] {
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [demo08] Running shell script
    + make tag
    sed -i -e "s/version:.*/version: 0.0.1/" Chart.yaml
    sed -i -e "s/repository: .*/repository: 10.59.251.152:5000\/grohan2002\/demo08/" values.yaml
    sed -i -e "s/tag: .*/tag: 0.0.1/" values.yaml
    git add --all
    git commit -m "release 0.0.1" --allow-empty # if first release then no verion update is performed
    [master 782ce19] release 0.0.1
     7 files changed, 66 insertions(+), 4 deletions(-)
     create mode 100644 VERSION
     create mode 100644 charts/demo08@tmp/durable-e73f59b2/jenkins-log.txt
     create mode 100755 charts/demo08@tmp/durable-e73f59b2/script.sh
     create mode 100644 pom.xml.versionsBackup
    git tag -fa v0.0.1 -m "Release version 0.0.1"
    git push origin v0.0.1
    To https://github.com/grohan2002/demo08.git
     * [new tag]         v0.0.1 -> v0.0.1
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // dir
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + mvn clean deploy
    Picked up _JAVA_OPTIONS: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Xms10m -Xmx192m
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building demo 0.0.1
    [INFO] ------------------------------------------------------------------------
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.pom (3 KB at 8.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starters/2.0.2.RELEASE/spring-boot-starters-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starters/2.0.2.RELEASE/spring-boot-starters-2.0.2.RELEASE.pom (2 KB at 21.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.pom (4 KB at 46.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.pom (14 KB at 156.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.pom (6 KB at 103.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.pom (3 KB at 35.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.pom (9 KB at 142.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.pom (4 KB at 49.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.pom (4 KB at 45.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.pom (2 KB at 30.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.pom (32 KB at 532.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.pom (3 KB at 22.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.pom (13 KB at 165.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/ch/qos/logback/logback-parent/1.2.3/logback-parent-1.2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/ch/qos/logback/logback-parent/1.2.3/logback-parent-1.2.3.pom (18 KB at 259.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.pom (5 KB at 77.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.pom (4 KB at 76.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom (14 KB at 248.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.pom (8 KB at 134.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j/2.10.0/log4j-2.10.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j/2.10.0/log4j-2.10.0.pom (55 KB at 815.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.pom (13 KB at 219.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.pom (986 B at 16.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.pom (15 KB at 271.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/java/jvnet-parent/3/jvnet-parent-3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/java/jvnet-parent/3/jvnet-parent-3.pom (5 KB at 91.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/yaml/snakeyaml/1.19/snakeyaml-1.19.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/yaml/snakeyaml/1.19/snakeyaml-1.19.pom (35 KB at 675.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.pom (19 KB at 247.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.pom (13 KB at 240.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.pom (6 KB at 63.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-base/2.9.5/jackson-base-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-base/2.9.5/jackson-base-2.9.5.pom (6 KB at 43.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.pom (2 KB at 26.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-parent/2.9.0/jackson-parent-2.9.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-parent/2.9.0/jackson-parent-2.9.0.pom (8 KB at 136.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/oss-parent/28/oss-parent-28.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/oss-parent/28/oss-parent-28.pom (20 KB at 320.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.pom (4 KB at 52.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.pom (5 KB at 65.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-modules-java8/2.9.5/jackson-modules-java8-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-modules-java8/2.9.5/jackson-modules-java8-2.9.5.pom (3 KB at 36.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.pom (7 KB at 103.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.pom (10 KB at 171.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.pom (8 KB at 133.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.pom (4 KB at 53.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.pom (4 KB at 56.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.pom (19 KB at 334.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.pom (2 KB at 34.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.pom (4 KB at 52.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.pom (3 KB at 61.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.pom (2 KB at 23.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.pom (2 KB at 22.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.pom (2 KB at 28.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/tomcat-annotations-api/8.5.31/tomcat-annotations-api-8.5.31.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/tomcat-annotations-api/8.5.31/tomcat-annotations-api-8.5.31.pom (2 KB at 22.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.pom (20 KB at 300.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator-parent/6.0.9.Final/hibernate-validator-parent-6.0.9.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator-parent/6.0.9.Final/hibernate-validator-parent-6.0.9.Final.pom (58 KB at 947.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/arquillian/arquillian-bom/1.1.11.Final/arquillian-bom-1.1.11.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/arquillian/arquillian-bom/1.1.11.Final/arquillian-bom-1.1.11.Final.pom (11 KB at 203.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/shrinkwrap/shrinkwrap-bom/1.2.3/shrinkwrap-bom-1.2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/shrinkwrap/shrinkwrap-bom/1.2.3/shrinkwrap-bom-1.2.3.pom (4 KB at 69.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/2.2.0/shrinkwrap-resolver-bom-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/2.2.0/shrinkwrap-resolver-bom-2.2.0.pom (6 KB at 73.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/shrinkwrap/descriptors/shrinkwrap-descriptors-bom/2.0.0-alpha-8/shrinkwrap-descriptors-bom-2.0.0-alpha-8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/shrinkwrap/descriptors/shrinkwrap-descriptors-bom/2.0.0-alpha-8/shrinkwrap-descriptors-bom-2.0.0-alpha-8.pom (6 KB at 81.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.pom (12 KB at 167.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.pom (7 KB at 107.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/jboss-parent/15/jboss-parent-15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/jboss-parent/15/jboss-parent-15.pom (31 KB at 504.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/classmate/1.3.4/classmate-1.3.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/classmate/1.3.4/classmate-1.3.4.pom (6 KB at 83.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/oss-parent/24/oss-parent-24.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/oss-parent/24/oss-parent-24.pom (19 KB at 210.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.pom (14 KB at 208.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.pom (5 KB at 63.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.pom (7 KB at 53.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.pom (10 KB at 146.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.pom (3 KB at 31.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/minidev/json-smart/2.3/json-smart-2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/minidev/json-smart/2.3/json-smart-2.3.pom (9 KB at 135.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/minidev/minidev-parent/2.3/minidev-parent-2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/minidev/minidev-parent/2.3/minidev-parent-2.3.pom (9 KB at 156.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/minidev/accessors-smart/1.2/accessors-smart-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/minidev/accessors-smart/1.2/accessors-smart-1.2.pom (12 KB at 217.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm/5.0.4/asm-5.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm/5.0.4/asm-5.0.4.pom (2 KB at 37.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4.pom (6 KB at 101.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/ow2/1.3/ow2-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/ow2/1.3/ow2-1.3.pom (10 KB at 175.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.pom (10 KB at 178.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/assertj/assertj-parent-pom/2.1.9/assertj-parent-pom-2.1.9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/assertj/assertj-parent-pom/2.1.9/assertj-parent-pom-2.1.9.pom (16 KB at 275.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.pom (16 KB at 258.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.pom (12 KB at 219.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-parent/1.7.11/byte-buddy-parent-1.7.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-parent/1.7.11/byte-buddy-parent-1.7.11.pom (26 KB at 455.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.pom (5 KB at 87.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/objenesis/objenesis/2.6/objenesis-2.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/objenesis/objenesis/2.6/objenesis-2.6.pom (3 KB at 44.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/objenesis/objenesis-parent/2.6/objenesis-parent-2.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/objenesis/objenesis-parent/2.6/objenesis-parent-2.6.pom (17 KB at 233.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.pom (820 B at 15.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.pom (6 KB at 87.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.pom (3 KB at 45.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.pom (16 KB at 246.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.pom (2 KB at 33.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/xmlunit/xmlunit-parent/2.5.1/xmlunit-parent-2.5.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/xmlunit/xmlunit-parent/2.5.1/xmlunit-parent-2.5.1.pom (16 KB at 293.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar (613 B at 4.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar (593 B at 3.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar (613 B at 3.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar (18 KB at 66.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar (461 KB at 1298.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar (284 KB at 796.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar (250 KB at 604.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar (1135 KB at 2662.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar (5 KB at 10.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar (906 KB at 1735.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar (26 KB at 48.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar (291 KB at 426.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar (65 KB at 93.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar (366 KB at 491.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar (450 KB at 450.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar (98 KB at 94.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar (315 KB at 294.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar (1311 KB at 1127.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar (1066 KB at 909.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar (30 KB at 24.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar (116 KB at 93.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar (645 B at 0.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar (33 KB at 24.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar (345 KB at 256.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar (588 B at 0.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar (9 KB at 6.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar (591 B at 0.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar (235 KB at 143.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar (91 KB at 54.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar (251 KB at 146.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar (64 KB at 36.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar (65 KB at 36.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar (1105 KB at 568.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar (646 KB at 308.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar (1225 KB at 568.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar (358 KB at 158.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar (772 KB at 339.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar (637 B at 0.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar (274 KB at 115.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/minidev/json-smart/2.3/json-smart-2.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar (191 KB at 77.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar (218 KB at 87.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar (153 KB at 60.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar (3043 KB at 1203.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/junit/junit/4.12/junit-4.12.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/net/minidev/json-smart/2.3/json-smart-2.3.jar (118 KB at 45.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar (30 KB at 11.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar (41 KB at 15.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar (53 KB at 19.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar (42 KB at 15.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/objenesis/objenesis/2.6/objenesis-2.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/junit/junit/4.12/junit-4.12.jar (308 KB at 107.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/objenesis/objenesis/2.6/objenesis-2.6.jar (55 KB at 18.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar (44 KB at 14.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar (530 KB at 172.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar (52 KB at 16.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar (30 KB at 9.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar (18 KB at 5.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar (22 KB at 6.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar (154 KB at 43.4 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar (591 KB at 166.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar (1198 KB at 326.3 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar (2861 KB at 737.9 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar (3822 KB at 972.8 KB/sec)
    [INFO] 
    [INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom (3 KB at 37.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven/3.0/maven-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven/3.0/maven-3.0.pom (22 KB at 395.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/15/maven-parent-15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/15/maven-parent-15.pom (24 KB at 426.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/6/apache-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/6/apache-6.pom (13 KB at 223.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.0/maven-model-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.0/maven-model-3.0.pom (4 KB at 56.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom (4 KB at 26.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom (2 KB at 13.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom (6 KB at 86.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom (4 KB at 44.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom (3 KB at 42.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom (2 KB at 24.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom (8 KB at 133.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/6/forge-parent-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/6/forge-parent-6.pom (11 KB at 190.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom (4 KB at 66.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom (6 KB at 91.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom (11 KB at 200.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.pom (6 KB at 104.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/21/maven-shared-components-21.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/21/maven-shared-components-21.pom (5 KB at 95.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/25/maven-parent-25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/25/maven-parent-25.pom (37 KB at 652.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/15/apache-15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/15/apache-15.pom (15 KB at 286.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/2.4/commons-io-2.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/2.4/commons-io-2.4.pom (10 KB at 116.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/25/commons-parent-25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/25/commons-parent-25.pom (48 KB at 737.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom (965 B at 9.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.0/maven-model-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar (48 KB at 637.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar (51 KB at 418.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.0/maven-model-3.0.jar (161 KB at 883.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar (197 KB at 887.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.jar (217 KB at 889.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/2.4/commons-io-2.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar (46 KB at 163.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar (150 KB at 462.5 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar (32 KB at 92.3 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.jar (152 KB at 435.4 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/2.4/commons-io-2.4.jar (181 KB at 447.5 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar (461 KB at 1066.4 KB/sec)
    [INFO] 
    [INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.pom (748 B at 12.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.6/plexus-containers-1.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.6/plexus-containers-1.6.pom (4 KB at 70.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3.2/plexus-3.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3.2/plexus-3.3.2.pom (22 KB at 375.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.0/maven-core-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.0/maven-core-3.0.pom (7 KB at 92.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom (2 KB at 31.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom (3 KB at 46.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom (910 B at 18.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom (6 KB at 83.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom (2 KB at 35.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom (3 KB at 43.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom (3 KB at 45.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom (2 KB at 28.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom (8 KB at 160.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom (3 KB at 36.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom (4 KB at 68.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom (2 KB at 31.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.pom (5 KB at 79.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/4.0/plexus-4.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/4.0/plexus-4.0.pom (21 KB at 419.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.pom (6 KB at 106.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/30/maven-shared-components-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/30/maven-shared-components-30.pom (5 KB at 86.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.pom (2 KB at 30.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.3.1/plexus-components-1.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.3.1/plexus-components-1.3.1.pom (3 KB at 35.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.pom (4 KB at 45.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/15/spice-parent-15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/15/spice-parent-15.pom (9 KB at 157.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.0/maven-core-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.jar (30 KB at 236.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.jar (37 KB at 263.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.jar (145 KB at 932.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-api/1.7/aether-api-1.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.jar (50 KB at 304.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar (14 KB at 57.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.0/maven-core-3.0.jar (515 KB at 1831.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.0/maven-settings-3.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.jar (104 KB at 373.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-api/1.7/aether-api-1.7.jar (73 KB at 259.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar (5 KB at 13.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar (106 KB at 310.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar (9 KB at 21.5 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.jar (50 KB at 119.9 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.0/maven-settings-3.0.jar (46 KB at 101.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.jar (76 KB at 154.8 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.jar (242 KB at 476.4 KB/sec)
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] Copying 1 resource
    [INFO] Copying 0 resource
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.pom (5 KB at 103.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/2.5/commons-io-2.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/2.5/commons-io-2.5.pom (13 KB at 249.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/39/commons-parent-39.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/39/commons-parent-39.pom (61 KB at 687.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.pom (5 KB at 68.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom (7 KB at 108.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.1/maven-shared-utils-0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.1/maven-shared-utils-0.1.pom (4 KB at 77.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/18/maven-shared-components-18.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/18/maven-shared-components-18.pom (5 KB at 90.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/22/maven-parent-22.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/22/maven-parent-22.pom (30 KB at 468.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/11/apache-11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/11/apache-11.pom (15 KB at 253.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.2/plexus-java-0.9.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.2/plexus-java-0.9.2.pom (3 KB at 45.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-languages/0.9.2/plexus-languages-0.9.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-languages/0.9.2/plexus-languages-0.9.2.pom (3 KB at 42.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm/6.0_BETA/asm-6.0_BETA.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm/6.0_BETA/asm-6.0_BETA.pom (2 KB at 33.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm-parent/6.0_BETA/asm-parent-6.0_BETA.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm-parent/6.0_BETA/asm-parent-6.0_BETA.pom (6 KB at 101.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/thoughtworks/qdox/qdox/2.0-M7/qdox-2.0-M7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/thoughtworks/qdox/qdox/2.0-M7/qdox-2.0-M7.pom (16 KB at 286.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/oss/oss-parent/9/oss-parent-9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/oss/oss-parent/9/oss-parent-9.pom (7 KB at 123.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-api/2.8.2/plexus-compiler-api-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-api/2.8.2/plexus-compiler-api-2.8.2.pom (867 B at 16.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler/2.8.2/plexus-compiler-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler/2.8.2/plexus-compiler-2.8.2.pom (5 KB at 90.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/4.0/plexus-components-4.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/4.0/plexus-components-4.0.pom (3 KB at 36.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.pom (4 KB at 55.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-manager/2.8.2/plexus-compiler-manager-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-manager/2.8.2/plexus-compiler-manager-2.8.2.pom (692 B at 9.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-javac/2.8.2/plexus-compiler-javac-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-javac/2.8.2/plexus-compiler-javac-2.8.2.pom (771 B at 15.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compilers/2.8.2/plexus-compilers-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compilers/2.8.2/plexus-compilers-2.8.2.pom (2 KB at 15.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/2.5/commons-io-2.5.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.2/plexus-java-0.9.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.2/plexus-java-0.9.2.jar (31 KB at 271.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm/6.0_BETA/asm-6.0_BETA.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar (14 KB at 97.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/thoughtworks/qdox/qdox/2.0-M7/qdox-2.0-M7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar (60 KB at 389.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-api/2.8.2/plexus-compiler-api-2.8.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar (160 KB at 836.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-manager/2.8.2/plexus-compiler-manager-2.8.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/2.5/commons-io-2.5.jar (204 KB at 965.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-javac/2.8.2/plexus-compiler-javac-2.8.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm/6.0_BETA/asm-6.0_BETA.jar (56 KB at 196.2 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-api/2.8.2/plexus-compiler-api-2.8.2.jar (26 KB at 88.2 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-manager/2.8.2/plexus-compiler-manager-2.8.2.jar (5 KB at 14.6 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-javac/2.8.2/plexus-compiler-javac-2.8.2.jar (20 KB at 60.7 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/com/thoughtworks/qdox/qdox/2.0-M7/qdox-2.0-M7.jar (308 KB at 854.6 KB/sec)
    [INFO] Changes detected - recompiling the module!
    [INFO] Compiling 1 source file to /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes
    [INFO] 
    [INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ demo08 ---
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] skip non existing resourceDirectory /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/src/test/resources
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ demo08 ---
    [INFO] Changes detected - recompiling the module!
    [INFO] Compiling 1 source file to /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes
    [INFO] 
    [INFO] --- maven-surefire-plugin:2.21.0:test (default-test) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/maven-surefire-common/2.21.0/maven-surefire-common-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/maven-surefire-common/2.21.0/maven-surefire-common-2.21.0.pom (12 KB at 191.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.pom (2 KB at 26.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-tools/3.5/maven-plugin-tools-3.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-tools/3.5/maven-plugin-tools-3.5.pom (16 KB at 177.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-api/2.21.0/surefire-api-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-api/2.21.0/surefire-api-2.21.0.pom (4 KB at 42.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-logger-api/2.21.0/surefire-logger-api-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-logger-api/2.21.0/surefire-logger-api-2.21.0.pom (2 KB at 33.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-booter/2.21.0/surefire-booter-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-booter/2.21.0/surefire-booter-2.21.0.pom (8 KB at 133.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.pom (4 KB at 62.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.3/plexus-java-0.9.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.3/plexus-java-0.9.3.pom (3 KB at 37.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-languages/0.9.3/plexus-languages-0.9.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-languages/0.9.3/plexus-languages-0.9.3.pom (3 KB at 37.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/maven-surefire-common/2.21.0/maven-surefire-common-2.21.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-logger-api/2.21.0/surefire-logger-api-2.21.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-api/2.21.0/surefire-api-2.21.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-booter/2.21.0/surefire-booter-2.21.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.jar (14 KB at 145.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-logger-api/2.21.0/surefire-logger-api-2.21.0.jar (14 KB at 79.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/maven-surefire-common/2.21.0/maven-surefire-common-2.21.0.jar (510 KB at 2558.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-api/2.21.0/surefire-api-2.21.0.jar (181 KB at 701.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.3/plexus-java-0.9.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-booter/2.21.0/surefire-booter-2.21.0.jar (267 KB at 1000.7 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar (223 KB at 696.1 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.jar (37 KB at 105.3 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.3/plexus-java-0.9.3.jar (31 KB at 88.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar (190 KB at 491.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-junit4/2.21.0/surefire-junit4-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-junit4/2.21.0/surefire-junit4-2.21.0.pom (4 KB at 51.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-providers/2.21.0/surefire-providers-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-providers/2.21.0/surefire-providers-2.21.0.pom (3 KB at 35.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-junit4/2.21.0/surefire-junit4-2.21.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-junit4/2.21.0/surefire-junit4-2.21.0.jar (83 KB at 1589.6 KB/sec)
    [INFO] 
    [INFO] -------------------------------------------------------
    [INFO]  T E S T S
    [INFO] -------------------------------------------------------
    [INFO] Running com.example.demo08.DemoApplicationTests
    09:27:00.364 [main] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class com.example.demo08.DemoApplicationTests]
    09:27:00.415 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
    09:27:00.426 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
    09:27:00.523 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [com.example.demo08.DemoApplicationTests] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]
    09:27:00.543 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [com.example.demo08.DemoApplicationTests], using SpringBootContextLoader
    09:27:00.560 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.example.demo08.DemoApplicationTests]: class path resource [com/example/demo08/DemoApplicationTests-context.xml] does not exist
    09:27:00.561 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.example.demo08.DemoApplicationTests]: class path resource [com/example/demo08/DemoApplicationTestsContext.groovy] does not exist
    09:27:00.563 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [com.example.demo08.DemoApplicationTests]: no resource found for suffixes {-context.xml, Context.groovy}.
    09:27:00.564 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [com.example.demo08.DemoApplicationTests]: DemoApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
    09:27:00.718 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [com.example.demo08.DemoApplicationTests]
    09:27:00.727 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'systemProperties' with lowest search precedence
    09:27:00.728 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'systemEnvironment' with lowest search precedence
    09:27:00.728 [main] DEBUG org.springframework.core.env.StandardEnvironment - Initialized StandardEnvironment with PropertySources [MapPropertySource@13996678 {name='systemProperties', properties={java.runtime.name=OpenJDK Runtime Environment, sun.boot.library.path=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/i386, java.vm.version=25.171-b10, java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/, path.separator=:, java.vm.name=OpenJDK Server VM, file.encoding.pkg=sun.io, user.country=US, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=unknown, java.vm.specification.name=Java Virtual Machine Specification, user.dir=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, java.runtime.version=1.8.0_171-b10, basedir=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment, java.endorsed.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/endorsed, os.arch=i386, surefire.real.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire/surefirebooter8695429534331311209.jar, java.io.tmpdir=/tmp, line.separator=
    , java.vm.specification.vendor=Oracle Corporation, os.name=Linux, sun.jnu.encoding=ANSI_X3.4-1968, java.library.path=/usr/java/packages/lib/i386:/lib:/usr/lib, surefire.test.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar:/root/.mvnrepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/root/.mvnrepository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar:/root/.mvnrepository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/root/.mvnrepository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/root/.mvnrepository/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar:/root/.mvnrepository/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar:/root/.mvnrepository/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar:/root/.mvnrepository/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar:/root/.mvnrepository/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar:/root/.mvnrepository/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar:/root/.mvnrepository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/root/.mvnrepository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/root/.mvnrepository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/root/.mvnrepository/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar:/root/.mvnrepository/net/minidev/json-smart/2.3/json-smart-2.3.jar:/root/.mvnrepository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar:/root/.mvnrepository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar:/root/.mvnrepository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/root/.mvnrepository/junit/junit/4.12/junit-4.12.jar:/root/.mvnrepository/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar:/root/.mvnrepository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar:/root/.mvnrepository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/root/.mvnrepository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/root/.mvnrepository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar:/root/.mvnrepository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/root/.mvnrepository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/root/.mvnrepository/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar:/root/.mvnrepository/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar:, java.specification.name=Java Platform API Specification, java.class.version=52.0, sun.management.compiler=HotSpot Tiered Compilers, os.version=4.4.111+, user.home=/root, user.timezone=UTC, java.awt.printerjob=sun.print.PSPrinterJob, file.encoding=ANSI_X3.4-1968, java.specification.version=1.8, java.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar:/root/.mvnrepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/root/.mvnrepository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar:/root/.mvnrepository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/root/.mvnrepository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/root/.mvnrepository/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar:/root/.mvnrepository/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar:/root/.mvnrepository/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar:/root/.mvnrepository/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar:/root/.mvnrepository/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar:/root/.mvnrepository/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar:/root/.mvnrepository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/root/.mvnrepository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/root/.mvnrepository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/root/.mvnrepository/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar:/root/.mvnrepository/net/minidev/json-smart/2.3/json-smart-2.3.jar:/root/.mvnrepository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar:/root/.mvnrepository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar:/root/.mvnrepository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/root/.mvnrepository/junit/junit/4.12/junit-4.12.jar:/root/.mvnrepository/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar:/root/.mvnrepository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar:/root/.mvnrepository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/root/.mvnrepository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/root/.mvnrepository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar:/root/.mvnrepository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/root/.mvnrepository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/root/.mvnrepository/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar:/root/.mvnrepository/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar:, user.name=root, java.vm.specification.version=1.8, sun.java.command=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire/surefirebooter8695429534331311209.jar /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire 2018-06-08T09-26-57_236-jvmRun1 surefire4328980770760480765tmp surefire_02400531796289035372tmp, java.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre, sun.arch.data.model=32, user.language=en, java.specification.vendor=Oracle Corporation, awt.toolkit=sun.awt.X11.XToolkit, java.vm.info=mixed mode, java.version=1.8.0_171, java.ext.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/ext:/usr/java/packages/lib/ext, sun.boot.class.path=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/resources.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/rt.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jsse.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jce.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/charsets.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jfr.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/classes, java.vendor=Oracle Corporation, localRepository=/root/.mvnrepository, file.separator=/, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.cpu.isalist=}}, SystemEnvironmentPropertySource@31556208 {name='systemEnvironment', properties={PATH=/opt/apache-maven-3.3.9/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/google-cloud-sdk/bin:/opt/google/chrome, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_API_PORT_80_TCP_PORT=80, RUN_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/1/display/redirect, HUDSON_HOME=/var/jenkins_home, JENKINS_X_MONOCULAR_UI_PORT=tcp://10.59.242.187:80, RUN_CHANGES_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/1/display/redirect?page=changes, APP_NAME=demo08, JENKINS_X_MONOCULAR_PRERENDER_PORT=tcp://10.59.255.226:80, JENKINS_NODE_COOKIE=1e8ba60b-b92c-4c51-a0b3-2db62a36b930, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_PORT=80, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_PROTO=tcp, CHARTMUSEUM_CREDS_PSW=****, JENKINS_X_MONGODB_PORT_27017_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_HOST=10.59.255.226, JENKINS_AGENT_SERVICE_PORT=50000, JENKINS_SERVER_COOKIE=durable-0175af514c7fda992d16faace609e600, PWD=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_URL=http://jenkins:8080, JENKINS_SECRET=0ce10b8d424d8d0f21232f7289fd3fbfd8dc7992708d64922c0cbfe468664f47, GIT_AUTHOR_EMAIL=jenkins-x@googlegroups.com, JENKINS_SERVICE_HOST=10.59.252.154, maven.home=/opt/apache-maven-3.3.9, STAGE_NAME=Build Release, JENKINS_X_CHARTMUSEUM_SERVICE_PORT_JENKINS_X=8080, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_ADDR=10.59.242.187, JENKINS_AGENT_SERVICE_HOST=10.59.242.200, JENKINS_PORT_8080_TCP=tcp://10.59.252.154:8080, GIT_AUTHOR_NAME=jenkins-x-bot, JENKINS_HOME=/var/jenkins_home, NODE_NAME=maven-0tbjd, BUILD_DISPLAY_NAME=#1, JENKINS_X_MONOCULAR_UI_SERVICE_PORT_MONOCULAR_UI=80, JENKINS_X_MONGODB_PORT_27017_TCP=tcp://10.59.243.233:27017, JENKINS_PORT_8080_TCP_PORT=8080, KUBERNETES_SERVICE_PORT_HTTPS=443, JENKINS_AGENT_SERVICE_PORT_SLAVELISTENER=50000, SHLVL=4, JENKINS_PORT=tcp://10.59.252.154:8080, JX_RELEASE_VERSION=1.0.10, KUBERNETES_PORT=tcp://10.59.240.1:443, DOCKER_VERSION=17.12.0, JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386, JENKINS_AGENT_PORT_50000_TCP_PROTO=tcp, NEXUS_PORT_80_TCP_ADDR=10.59.240.56, NEXUS_PORT=tcp://10.59.240.56:80, JENKINS_X_CHARTMUSEUM_PORT=tcp://10.59.247.18:8080, JENKINS_PORT_8080_TCP_PROTO=tcp, JENKINS_PORT_8080_TCP_ADDR=10.59.252.154, NEXUS_PORT_80_TCP=tcp://10.59.240.56:80, NEXUS_SERVICE_PORT=80, GCLOUD_VERSION=187.0.0, WORKSPACE=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_X_MONGODB_SERVICE_HOST=10.59.243.233, JENKINS_NAME=maven-0tbjd, JENKINS_X_DOCKER_REGISTRY_PORT=tcp://10.59.251.152:5000, _=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/bin/java, SKAFFOLD_VERSION=0.4.0, GIT_COMMIT=efc077e94f0b7820ee4a626bd921e5da208ecf8a, KUBERNETES_PORT_443_TCP_ADDR=10.59.240.1, NEXUS_SERVICE_HOST=10.59.240.56, KUBERNETES_PORT_443_TCP_PROTO=tcp, MAVEN_PROJECTBASEDIR=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JOB_BASE_NAME=master, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_PORT=5000, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_PORT=80, JENKINS_AGENT_PORT_50000_TCP_PORT=50000, UPDATEBOT_VERSION=1.1.10, BUILD_NUMBER=1, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT=tcp://10.59.242.193:80, GIT_COMMITTER_EMAIL=jenkins-x@googlegroups.com, GIT_URL=https://github.com/grohan2002/demo08.git, JENKINS_X_MONOCULAR_API_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_UI_SERVICE_HOST=10.59.242.187, HEAPSTER_PORT_8082_TCP_PORT=8082, NEXUS_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONGODB_SERVICE_PORT=27017, JENKINS_X_MONOCULAR_UI_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT_80_TCP=tcp://10.59.242.193:80, M2=/opt/apache-maven-3.3.9/bin, JENKINS_X_CHARTMUSEUM_SERVICE_PORT=8080, JENKINS_X_MONOCULAR_API_PORT_80_TCP_ADDR=10.59.242.193, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP=tcp://10.59.255.226:80, DOCKER_CONFIG=/home/jenkins/.docker/, JENKINS_X_MONGODB_PORT=tcp://10.59.243.233:27017, JENKINS_X_MONOCULAR_API_SERVICE_HOST=10.59.242.193, JENKINS_AGENT_PORT_50000_TCP_ADDR=10.59.242.200, JENKINS_AGENT_PORT=tcp://10.59.242.200:50000, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP=tcp://10.59.251.152:5000, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_PORT_PRERENDER=80, KUBERNETES_PORT_443_TCP=tcp://10.59.240.1:443, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_PROTO=tcp, JENKINS_AGENT_PORT_50000_TCP=tcp://10.59.242.200:50000, JENKINS_X_MONOCULAR_API_SERVICE_PORT_MONOCULAR_API=80, BUILD_TAG=jenkins-grohan2002-demo08-master-1, HEAPSTER_PORT_8082_TCP=tcp://10.59.255.13:8082, MAVEN_VERSION=3.3.9, HEAPSTER_PORT_8082_TCP_PROTO=tcp, JENKINS_X_DOCKER_REGISTRY_SERVICE_HOST=10.59.251.152, OLDPWD=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_X_MONGODB_PORT_27017_TCP_ADDR=10.59.243.233, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_PORT=8080, NEXUS_PORT_80_TCP_PORT=80, NEXUS_SERVICE_PORT_NEXUS=80, JOB_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/display/redirect, M2_HOME=/opt/apache-maven-3.3.9, _JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Xms10m -Xmx192m, JENKINS_X_CHARTMUSEUM_SERVICE_HOST=10.59.247.18, GIT_BRANCH=master, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_ADDR=10.59.255.226, JENKINS_X_MONOCULAR_UI_PORT_80_TCP=tcp://10.59.242.187:80, HEAPSTER_SERVICE_PORT=8082, JENKINS_TUNNEL=jenkins-agent:50000, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_PROTO=tcp, ORG=grohan2002, CHARTMUSEUM_CREDS=****, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_ADDR=10.59.247.18, HEAPSTER_PORT=tcp://10.59.255.13:8082, JENKINS_SERVICE_PORT_HTTP=8080, BUILD_ID=1, KUBERNETES_SERVICE_HOST=10.59.240.1, JOB_NAME=grohan2002/demo08/master, JENKINS_SERVICE_PORT=8080, EXPOSECONTROLLER_VERSION=2.3.34, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP=tcp://10.59.247.18:8080, JENKINS_X_MONGODB_SERVICE_PORT_MONGODB=27017, CHARTMUSEUM_CREDS_USR=****, NODE_LABELS=jenkins-maven maven-0tbjd, JX_VERSION=1.2.101, JENKINS_X_DOCKER_REGISTRY_SERVICE_PORT_REGISTRY=5000, JENKINS_X_MONGODB_PORT_27017_TCP_PORT=27017, MAVEN_CMD_LINE_ARGS= clean deploy, HEAPSTER_PORT_8082_TCP_ADDR=10.59.255.13, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_ADDR=10.59.251.152, EXECUTOR_NUMBER=0, GIT_COMMITTER_NAME=jenkins-x-bot, HUDSON_SERVER_COOKIE=d2e418b0327786cb, CLASSPATH=, XDG_CONFIG_HOME=/home/jenkins, JENKINS_X_DOCKER_REGISTRY_SERVICE_PORT=5000, KUBERNETES_SERVICE_PORT=443, HOSTNAME=maven-0tbjd, HELM_VERSION=2.8.2, HEAPSTER_SERVICE_HOST=10.59.255.13, KUBERNETES_PORT_443_TCP_PORT=443, BRANCH_NAME=master, HOME=/home/jenkins}}]
    09:27:00.748 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Resolved classpath location [com/example/demo08/] to resources [URL [file:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes/com/example/demo08/], URL [file:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08/]]
    09:27:00.748 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Looking for matching resources in directory tree [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes/com/example/demo08]
    09:27:00.749 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes/com/example/demo08] for files matching pattern [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes/com/example/demo08/*.class]
    09:27:00.754 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Looking for matching resources in directory tree [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08]
    09:27:00.754 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08] for files matching pattern [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08/*.class]
    09:27:00.754 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Resolved location pattern [classpath*:com/example/demo08/*.class] to resources [file [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes/com/example/demo08/DemoApplicationTests.class], file [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08/DemoApplication.class]]
    09:27:00.935 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08/DemoApplication.class]
    09:27:00.937 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration com.example.demo08.DemoApplication for test class com.example.demo08.DemoApplicationTests
    09:27:01.351 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [com.example.demo08.DemoApplicationTests]: using defaults.
    09:27:01.352 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener]
    09:27:01.425 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.transaction.TransactionalTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [org/springframework/transaction/TransactionDefinition]
    09:27:01.426 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [org/springframework/transaction/interceptor/TransactionAttribute]
    09:27:01.427 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@5f66e3, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@23df74, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@13ac989, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@162e04d, org.springframework.test.context.support.DirtiesContextTestExecutionListener@65fe7c, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@135c3b, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@102bbb1, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@1304f14, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@a3d150, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4fb17b]
    09:27:01.430 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.example.demo08.DemoApplicationTests]
    09:27:01.431 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.example.demo08.DemoApplicationTests]
    09:27:01.432 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.example.demo08.DemoApplicationTests]
    09:27:01.433 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.example.demo08.DemoApplicationTests]
    09:27:01.435 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.example.demo08.DemoApplicationTests]
    09:27:01.436 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.example.demo08.DemoApplicationTests]
    09:27:01.440 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@190fc5b testClass = DemoApplicationTests, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@197fbdb testClass = DemoApplicationTests, locations = '{}', classes = '{class com.example.demo08.DemoApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@1f99a05, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@a3e297, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1723e30, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@16e2f39], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null].
    09:27:01.441 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.example.demo08.DemoApplicationTests]
    09:27:01.442 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.example.demo08.DemoApplicationTests]
    09:27:01.538 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'systemProperties' with lowest search precedence
    09:27:01.539 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'systemEnvironment' with lowest search precedence
    09:27:01.542 [main] DEBUG org.springframework.core.env.StandardEnvironment - Initialized StandardEnvironment with PropertySources [MapPropertySource@25913137 {name='systemProperties', properties={java.runtime.name=OpenJDK Runtime Environment, sun.boot.library.path=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/i386, java.vm.version=25.171-b10, java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/, path.separator=:, java.vm.name=OpenJDK Server VM, file.encoding.pkg=sun.io, user.country=US, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=unknown, java.vm.specification.name=Java Virtual Machine Specification, user.dir=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, java.runtime.version=1.8.0_171-b10, basedir=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment, java.endorsed.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/endorsed, os.arch=i386, surefire.real.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire/surefirebooter8695429534331311209.jar, java.io.tmpdir=/tmp, line.separator=
    , java.vm.specification.vendor=Oracle Corporation, os.name=Linux, sun.jnu.encoding=ANSI_X3.4-1968, java.library.path=/usr/java/packages/lib/i386:/lib:/usr/lib, surefire.test.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar:/root/.mvnrepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/root/.mvnrepository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar:/root/.mvnrepository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/root/.mvnrepository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/root/.mvnrepository/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar:/root/.mvnrepository/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar:/root/.mvnrepository/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar:/root/.mvnrepository/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar:/root/.mvnrepository/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar:/root/.mvnrepository/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar:/root/.mvnrepository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/root/.mvnrepository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/root/.mvnrepository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/root/.mvnrepository/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar:/root/.mvnrepository/net/minidev/json-smart/2.3/json-smart-2.3.jar:/root/.mvnrepository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar:/root/.mvnrepository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar:/root/.mvnrepository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/root/.mvnrepository/junit/junit/4.12/junit-4.12.jar:/root/.mvnrepository/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar:/root/.mvnrepository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar:/root/.mvnrepository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/root/.mvnrepository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/root/.mvnrepository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar:/root/.mvnrepository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/root/.mvnrepository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/root/.mvnrepository/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar:/root/.mvnrepository/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar:, java.specification.name=Java Platform API Specification, java.class.version=52.0, sun.management.compiler=HotSpot Tiered Compilers, os.version=4.4.111+, user.home=/root, user.timezone=UTC, java.awt.printerjob=sun.print.PSPrinterJob, file.encoding=ANSI_X3.4-1968, java.specification.version=1.8, java.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar:/root/.mvnrepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/root/.mvnrepository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar:/root/.mvnrepository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/root/.mvnrepository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/root/.mvnrepository/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar:/root/.mvnrepository/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar:/root/.mvnrepository/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar:/root/.mvnrepository/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar:/root/.mvnrepository/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar:/root/.mvnrepository/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar:/root/.mvnrepository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/root/.mvnrepository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/root/.mvnrepository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/root/.mvnrepository/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar:/root/.mvnrepository/net/minidev/json-smart/2.3/json-smart-2.3.jar:/root/.mvnrepository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar:/root/.mvnrepository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar:/root/.mvnrepository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/root/.mvnrepository/junit/junit/4.12/junit-4.12.jar:/root/.mvnrepository/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar:/root/.mvnrepository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar:/root/.mvnrepository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/root/.mvnrepository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/root/.mvnrepository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar:/root/.mvnrepository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/root/.mvnrepository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/root/.mvnrepository/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar:/root/.mvnrepository/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar:, user.name=root, java.vm.specification.version=1.8, sun.java.command=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire/surefirebooter8695429534331311209.jar /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire 2018-06-08T09-26-57_236-jvmRun1 surefire4328980770760480765tmp surefire_02400531796289035372tmp, java.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre, sun.arch.data.model=32, user.language=en, java.specification.vendor=Oracle Corporation, awt.toolkit=sun.awt.X11.XToolkit, java.vm.info=mixed mode, java.version=1.8.0_171, java.ext.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/ext:/usr/java/packages/lib/ext, sun.boot.class.path=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/resources.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/rt.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jsse.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jce.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/charsets.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jfr.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/classes, java.vendor=Oracle Corporation, localRepository=/root/.mvnrepository, file.separator=/, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.cpu.isalist=}}, SystemEnvironmentPropertySource@6883543 {name='systemEnvironment', properties={PATH=/opt/apache-maven-3.3.9/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/google-cloud-sdk/bin:/opt/google/chrome, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_API_PORT_80_TCP_PORT=80, RUN_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/1/display/redirect, HUDSON_HOME=/var/jenkins_home, JENKINS_X_MONOCULAR_UI_PORT=tcp://10.59.242.187:80, RUN_CHANGES_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/1/display/redirect?page=changes, APP_NAME=demo08, JENKINS_X_MONOCULAR_PRERENDER_PORT=tcp://10.59.255.226:80, JENKINS_NODE_COOKIE=1e8ba60b-b92c-4c51-a0b3-2db62a36b930, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_PORT=80, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_PROTO=tcp, CHARTMUSEUM_CREDS_PSW=****, JENKINS_X_MONGODB_PORT_27017_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_HOST=10.59.255.226, JENKINS_AGENT_SERVICE_PORT=50000, JENKINS_SERVER_COOKIE=durable-0175af514c7fda992d16faace609e600, PWD=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_URL=http://jenkins:8080, JENKINS_SECRET=0ce10b8d424d8d0f21232f7289fd3fbfd8dc7992708d64922c0cbfe468664f47, GIT_AUTHOR_EMAIL=jenkins-x@googlegroups.com, JENKINS_SERVICE_HOST=10.59.252.154, maven.home=/opt/apache-maven-3.3.9, STAGE_NAME=Build Release, JENKINS_X_CHARTMUSEUM_SERVICE_PORT_JENKINS_X=8080, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_ADDR=10.59.242.187, JENKINS_AGENT_SERVICE_HOST=10.59.242.200, JENKINS_PORT_8080_TCP=tcp://10.59.252.154:8080, GIT_AUTHOR_NAME=jenkins-x-bot, JENKINS_HOME=/var/jenkins_home, NODE_NAME=maven-0tbjd, BUILD_DISPLAY_NAME=#1, JENKINS_X_MONOCULAR_UI_SERVICE_PORT_MONOCULAR_UI=80, JENKINS_X_MONGODB_PORT_27017_TCP=tcp://10.59.243.233:27017, JENKINS_PORT_8080_TCP_PORT=8080, KUBERNETES_SERVICE_PORT_HTTPS=443, JENKINS_AGENT_SERVICE_PORT_SLAVELISTENER=50000, SHLVL=4, JENKINS_PORT=tcp://10.59.252.154:8080, JX_RELEASE_VERSION=1.0.10, KUBERNETES_PORT=tcp://10.59.240.1:443, DOCKER_VERSION=17.12.0, JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386, JENKINS_AGENT_PORT_50000_TCP_PROTO=tcp, NEXUS_PORT_80_TCP_ADDR=10.59.240.56, NEXUS_PORT=tcp://10.59.240.56:80, JENKINS_X_CHARTMUSEUM_PORT=tcp://10.59.247.18:8080, JENKINS_PORT_8080_TCP_PROTO=tcp, JENKINS_PORT_8080_TCP_ADDR=10.59.252.154, NEXUS_PORT_80_TCP=tcp://10.59.240.56:80, NEXUS_SERVICE_PORT=80, GCLOUD_VERSION=187.0.0, WORKSPACE=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_X_MONGODB_SERVICE_HOST=10.59.243.233, JENKINS_NAME=maven-0tbjd, JENKINS_X_DOCKER_REGISTRY_PORT=tcp://10.59.251.152:5000, _=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/bin/java, SKAFFOLD_VERSION=0.4.0, GIT_COMMIT=efc077e94f0b7820ee4a626bd921e5da208ecf8a, KUBERNETES_PORT_443_TCP_ADDR=10.59.240.1, NEXUS_SERVICE_HOST=10.59.240.56, KUBERNETES_PORT_443_TCP_PROTO=tcp, MAVEN_PROJECTBASEDIR=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JOB_BASE_NAME=master, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_PORT=5000, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_PORT=80, JENKINS_AGENT_PORT_50000_TCP_PORT=50000, UPDATEBOT_VERSION=1.1.10, BUILD_NUMBER=1, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT=tcp://10.59.242.193:80, GIT_COMMITTER_EMAIL=jenkins-x@googlegroups.com, GIT_URL=https://github.com/grohan2002/demo08.git, JENKINS_X_MONOCULAR_API_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_UI_SERVICE_HOST=10.59.242.187, HEAPSTER_PORT_8082_TCP_PORT=8082, NEXUS_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONGODB_SERVICE_PORT=27017, JENKINS_X_MONOCULAR_UI_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT_80_TCP=tcp://10.59.242.193:80, M2=/opt/apache-maven-3.3.9/bin, JENKINS_X_CHARTMUSEUM_SERVICE_PORT=8080, JENKINS_X_MONOCULAR_API_PORT_80_TCP_ADDR=10.59.242.193, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP=tcp://10.59.255.226:80, DOCKER_CONFIG=/home/jenkins/.docker/, JENKINS_X_MONGODB_PORT=tcp://10.59.243.233:27017, JENKINS_X_MONOCULAR_API_SERVICE_HOST=10.59.242.193, JENKINS_AGENT_PORT_50000_TCP_ADDR=10.59.242.200, JENKINS_AGENT_PORT=tcp://10.59.242.200:50000, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP=tcp://10.59.251.152:5000, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_PORT_PRERENDER=80, KUBERNETES_PORT_443_TCP=tcp://10.59.240.1:443, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_PROTO=tcp, JENKINS_AGENT_PORT_50000_TCP=tcp://10.59.242.200:50000, JENKINS_X_MONOCULAR_API_SERVICE_PORT_MONOCULAR_API=80, BUILD_TAG=jenkins-grohan2002-demo08-master-1, HEAPSTER_PORT_8082_TCP=tcp://10.59.255.13:8082, MAVEN_VERSION=3.3.9, HEAPSTER_PORT_8082_TCP_PROTO=tcp, JENKINS_X_DOCKER_REGISTRY_SERVICE_HOST=10.59.251.152, OLDPWD=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_X_MONGODB_PORT_27017_TCP_ADDR=10.59.243.233, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_PORT=8080, NEXUS_PORT_80_TCP_PORT=80, NEXUS_SERVICE_PORT_NEXUS=80, JOB_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/display/redirect, M2_HOME=/opt/apache-maven-3.3.9, _JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Xms10m -Xmx192m, JENKINS_X_CHARTMUSEUM_SERVICE_HOST=10.59.247.18, GIT_BRANCH=master, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_ADDR=10.59.255.226, JENKINS_X_MONOCULAR_UI_PORT_80_TCP=tcp://10.59.242.187:80, HEAPSTER_SERVICE_PORT=8082, JENKINS_TUNNEL=jenkins-agent:50000, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_PROTO=tcp, ORG=grohan2002, CHARTMUSEUM_CREDS=****, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_ADDR=10.59.247.18, HEAPSTER_PORT=tcp://10.59.255.13:8082, JENKINS_SERVICE_PORT_HTTP=8080, BUILD_ID=1, KUBERNETES_SERVICE_HOST=10.59.240.1, JOB_NAME=grohan2002/demo08/master, JENKINS_SERVICE_PORT=8080, EXPOSECONTROLLER_VERSION=2.3.34, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP=tcp://10.59.247.18:8080, JENKINS_X_MONGODB_SERVICE_PORT_MONGODB=27017, CHARTMUSEUM_CREDS_USR=****, NODE_LABELS=jenkins-maven maven-0tbjd, JX_VERSION=1.2.101, JENKINS_X_DOCKER_REGISTRY_SERVICE_PORT_REGISTRY=5000, JENKINS_X_MONGODB_PORT_27017_TCP_PORT=27017, MAVEN_CMD_LINE_ARGS= clean deploy, HEAPSTER_PORT_8082_TCP_ADDR=10.59.255.13, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_ADDR=10.59.251.152, EXECUTOR_NUMBER=0, GIT_COMMITTER_NAME=jenkins-x-bot, HUDSON_SERVER_COOKIE=d2e418b0327786cb, CLASSPATH=, XDG_CONFIG_HOME=/home/jenkins, JENKINS_X_DOCKER_REGISTRY_SERVICE_PORT=5000, KUBERNETES_SERVICE_PORT=443, HOSTNAME=maven-0tbjd, HELM_VERSION=2.8.2, HEAPSTER_SERVICE_HOST=10.59.255.13, KUBERNETES_PORT_443_TCP_PORT=443, BRANCH_NAME=master, HOME=/home/jenkins}}]
    09:27:01.549 [main] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true, server.port=-1}
    09:27:01.561 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'Inlined Test Properties' with highest search precedence
    
    
      .   ____          _            __ _ _
     /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
     \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v2.0.2.RELEASE)
    
    2018-06-08 09:27:02.738  INFO 279 --- [           main] com.example.demo08.DemoApplicationTests  : Starting DemoApplicationTests on maven-0tbjd with PID 279 (started by root in /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A)
    2018-06-08 09:27:02.748  INFO 279 --- [           main] com.example.demo08.DemoApplicationTests  : No active profile set, falling back to default profiles: default
    2018-06-08 09:27:02.948  INFO 279 --- [           main] o.s.w.c.s.GenericWebApplicationContext   : Refreshing org.springframework.web.context.support.GenericWebApplicationContext@152216b: startup date [Fri Jun 08 09:27:02 UTC 2018]; root of context hierarchy
    2018-06-08 09:27:09.746  INFO 279 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2018-06-08 09:27:10.826  INFO 279 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.web.context.support.GenericWebApplicationContext@152216b: startup date [Fri Jun 08 09:27:02 UTC 2018]; root of context hierarchy
    2018-06-08 09:27:11.125  INFO 279 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
    2018-06-08 09:27:11.130  INFO 279 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
    2018-06-08 09:27:11.230  INFO 279 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2018-06-08 09:27:11.231  INFO 279 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2018-06-08 09:27:14.040  INFO 279 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 2 endpoint(s) beneath base path '/actuator'
    2018-06-08 09:27:14.055  INFO 279 --- [           main] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/actuator/health],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
    2018-06-08 09:27:14.056  INFO 279 --- [           main] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/actuator/info],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
    2018-06-08 09:27:14.057  INFO 279 --- [           main] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/actuator],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto protected java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.springframework.boot.actuate.endpoint.web.Link>> org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.links(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
    2018-06-08 09:27:14.350  INFO 279 --- [           main] com.example.demo08.DemoApplicationTests  : Started DemoApplicationTests in 12.725 seconds (JVM running for 15.43)
    [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.996 s - in com.example.demo08.DemoApplicationTests
    2018-06-08 09:27:14.752  INFO 279 --- [       Thread-4] o.s.w.c.s.GenericWebApplicationContext   : Closing org.springframework.web.context.support.GenericWebApplicationContext@152216b: startup date [Fri Jun 08 09:27:02 UTC 2018]; root of context hierarchy
    [INFO] 
    [INFO] Results:
    [INFO] 
    [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
    [INFO] 
    [INFO] 
    [INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/3.1.1/maven-archiver-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/3.1.1/maven-archiver-3.1.1.pom (5 KB at 69.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.1/maven-shared-utils-3.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.1/maven-shared-utils-3.0.1.pom (5 KB at 64.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.3/plexus-archiver-3.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.3/plexus-archiver-3.3.pom (6 KB at 102.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.7.1/plexus-io-2.7.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.7.1/plexus-io-2.7.1.pom (5 KB at 100.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/2.2/commons-io-2.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/2.2/commons-io-2.2.pom (11 KB at 207.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/24/commons-parent-24.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/24/commons-parent-24.pom (47 KB at 839.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.11/commons-compress-1.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.11/commons-compress-1.11.pom (13 KB at 204.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/iq80/snappy/snappy/0.4/snappy-0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/iq80/snappy/snappy/0.4/snappy-0.4.pom (15 KB at 244.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/tukaani/xz/1.5/xz-1.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/tukaani/xz/1.5/xz-1.5.pom (2 KB at 40.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.4/plexus-archiver-3.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.4/plexus-archiver-3.4.pom (6 KB at 108.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/3.1.1/maven-archiver-3.1.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.1/maven-shared-utils-3.0.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.4/plexus-archiver-3.4.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.7.1/plexus-io-2.7.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.11/commons-compress-1.11.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/3.1.1/maven-archiver-3.1.1.jar (24 KB at 200.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/iq80/snappy/snappy/0.4/snappy-0.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.4/plexus-archiver-3.4.jar (183 KB at 1250.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/tukaani/xz/1.5/xz-1.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.7.1/plexus-io-2.7.1.jar (84 KB at 537.2 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.1/maven-shared-utils-3.0.1.jar (151 KB at 954.6 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/iq80/snappy/snappy/0.4/snappy-0.4.jar (57 KB at 343.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.11/commons-compress-1.11.jar (416 KB at 1970.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/tukaani/xz/1.5/xz-1.5.jar (98 KB at 434.0 KB/sec)
    [INFO] Building jar: /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/demo08-0.0.1.jar
    [INFO] 
    [INFO] --- spring-boot-maven-plugin:2.0.2.RELEASE:repackage (default) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-loader-tools/2.0.2.RELEASE/spring-boot-loader-tools-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-loader-tools/2.0.2.RELEASE/spring-boot-loader-tools-2.0.2.RELEASE.pom (3 KB at 9.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.14/commons-compress-1.14.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.14/commons-compress-1.14.pom (13 KB at 191.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/42/commons-parent-42.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/42/commons-parent-42.pom (67 KB at 909.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/2.6/maven-archiver-2.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/2.6/maven-archiver-2.6.pom (5 KB at 72.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/20/maven-shared-components-20.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/20/maven-shared-components-20.pom (5 KB at 92.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.7.25/slf4j-jdk14-1.7.25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.7.25/slf4j-jdk14-1.7.25.pom (1008 B at 16.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.pom (959 B at 6.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.pom (5 KB at 66.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/2.8.1/plexus-archiver-2.8.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/2.8.1/plexus-archiver-2.8.1.pom (5 KB at 63.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom (3 KB at 64.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.3.2/plexus-io-2.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.3.2/plexus-io-2.3.2.pom (3 KB at 47.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom (3 KB at 52.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.9/commons-compress-1.9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.9/commons-compress-1.9.pom (12 KB at 183.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/34/commons-parent-34.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/34/commons-parent-34.pom (55 KB at 958.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.pom (2 KB at 29.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1.pom (2 KB at 37.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven/3.1.1/maven-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven/3.1.1/maven-3.1.1.pom (22 KB at 273.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom (4 KB at 48.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1.pom (8 KB at 136.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1.pom (5 KB at 79.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1.pom (3 KB at 44.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1.pom (3 KB at 52.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.pom (2 KB at 21.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1.pom (3 KB at 31.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1.pom (4 KB at 62.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.pom (5 KB at 81.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/sisu-plexus/0.0.0.M5/sisu-plexus-0.0.0.M5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/sisu-plexus/0.0.0.M5/sisu-plexus-0.0.0.M5.pom (13 KB at 243.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/enterprise/cdi-api/1.0/cdi-api-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/enterprise/cdi-api/1.0/cdi-api-1.0.pom (2 KB at 27.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/weld/weld-api-parent/1.0/weld-api-parent-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/weld/weld-api-parent/1.0/weld-api-parent-1.0.pom (3 KB at 46.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/weld/weld-api-bom/1.0/weld-api-bom-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/weld/weld-api-bom/1.0/weld-api-bom-1.0.pom (8 KB at 145.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/weld/weld-parent/6/weld-parent-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/weld/weld-parent/6/weld-parent-6.pom (21 KB at 360.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.pom (1023 B at 20.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/inject/javax.inject/1/javax.inject-1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/inject/javax.inject/1/javax.inject-1.pom (612 B at 13.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/guava/guava/10.0.1/guava-10.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/guava/guava/10.0.1/guava-10.0.1.pom (6 KB at 101.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/guava/guava-parent/10.0.1/guava-parent-10.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/guava/guava-parent/10.0.1/guava-parent-10.0.1.pom (2 KB at 37.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom (965 B at 17.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.pom (10 KB at 177.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-parent/3.1.0/guice-parent-3.1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-parent/3.1.0/guice-parent-3.1.0.pom (11 KB at 154.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/aopalliance/aopalliance/1.0/aopalliance-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/aopalliance/aopalliance/1.0/aopalliance-1.0.pom (363 B at 7.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.pom (3 KB at 39.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/sisu-inject/0.0.0.M5/sisu-inject-0.0.0.M5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/sisu-inject/0.0.0.M5/sisu-inject-0.0.0.M5.pom (14 KB at 273.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.pom (4 KB at 80.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1.pom (3 KB at 54.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1.pom (4 KB at 61.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.pom (2 KB at 28.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom (28 KB at 439.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2.pom (2 KB at 32.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom (2 KB at 43.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2.pom (4 KB at 66.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1.pom (5 KB at 97.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom (2 KB at 37.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom (8 KB at 150.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom (815 B at 16.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom (5 KB at 82.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom (17 KB at 197.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom (4 KB at 48.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom (2 KB at 34.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom (13 KB at 232.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom (2 KB at 33.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm/3.3.1/asm-3.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm/3.3.1/asm-3.3.1.pom (266 B at 5.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-parent/3.3.1/asm-parent-3.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-parent/3.3.1/asm-parent-3.3.1.pom (5 KB at 79.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-commons/3.3.1/asm-commons-3.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-commons/3.3.1/asm-commons-3.3.1.pom (417 B at 8.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-tree/3.3.1/asm-tree-3.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-tree/3.3.1/asm-tree-3.3.1.pom (406 B at 9.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jdom/jdom/1.1/jdom-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jdom/jdom/1.1/jdom-1.1.pom (3 KB at 41.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom (7 KB at 118.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom (3 KB at 60.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven/2.2.0/maven-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven/2.2.0/maven-2.2.0.pom (22 KB at 421.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom (3 KB at 31.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom (4 KB at 59.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom (3 KB at 43.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom (4 KB at 57.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom (2 KB at 35.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom (2 KB at 26.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom (2 KB at 36.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/vafer/jdependency/0.7/jdependency-0.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/vafer/jdependency/0.7/jdependency-0.7.pom (8 KB at 147.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/1.3.2/commons-io-1.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/1.3.2/commons-io-1.3.2.pom (10 KB at 182.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/3/commons-parent-3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/3/commons-parent-3.pom (12 KB at 226.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm/3.2/asm-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm/3.2/asm-3.2.pom (264 B at 5.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-parent/3.2/asm-parent-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-parent/3.2/asm-parent-3.2.pom (5 KB at 69.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-analysis/3.2/asm-analysis-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-analysis/3.2/asm-analysis-3.2.pom (417 B at 7.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-tree/3.2/asm-tree-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-tree/3.2/asm-tree-3.2.pom (404 B at 9.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-commons/3.2/asm-commons-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-commons/3.2/asm-commons-3.2.pom (415 B at 7.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-util/3.2/asm-util-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-util/3.2/asm-util-3.2.pom (409 B at 8.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/guava/guava/11.0.2/guava-11.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/guava/guava/11.0.2/guava-11.0.2.pom (6 KB at 109.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom (2 KB at 33.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-loader-tools/2.0.2.RELEASE/spring-boot-loader-tools-2.0.2.RELEASE.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.14/commons-compress-1.14.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/2.6/maven-archiver-2.6.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/2.6/maven-archiver-2.6.jar (23 KB at 262.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar (61 KB at 677.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-loader-tools/2.0.2.RELEASE/spring-boot-loader-tools-2.0.2.RELEASE.jar (145 KB at 1550.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.jar (167 KB at 1195.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1.jar (52 KB at 297.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1.jar (41 KB at 214.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1.jar (25 KB at 98.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1.jar (156 KB at 476.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2.jar (18 KB at 51.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1.jar (59 KB at 160.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.jar (131 KB at 268.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.14/commons-compress-1.14.jar (518 KB at 1043.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1.jar (545 KB at 1040.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2.jar (142 KB at 228.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/inject/javax.inject/1/javax.inject-1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar (6 KB at 9.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar (44 KB at 66.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar (131 KB at 186.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/inject/javax.inject/1/javax.inject-1.jar (3 KB at 3.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.jar (192 KB at 251.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/aopalliance/aopalliance/1.0/aopalliance-1.0.jar (5 KB at 5.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1.jar (49 KB at 58.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1.jar (41 KB at 44.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1.jar (151 KB at 164.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.jar (285 KB at 307.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1.jar (44 KB at 44.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar (350 KB at 341.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/2.8.1/plexus-archiver-2.8.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.jar (114 KB at 108.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.3.2/plexus-io-2.3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.jar (35 KB at 32.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.jar (29 KB at 26.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-compat/3.0/maven-compat-3.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/2.8.1/plexus-archiver-2.8.1.jar (140 KB at 126.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.jar (56 KB at 49.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm/3.3.1/asm-3.3.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.3.2/plexus-io-2.3.2.jar (73 KB at 63.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-commons/3.3.1/asm-commons-3.3.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar (98 KB at 82.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-tree/3.3.1/asm-tree-3.3.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm/3.3.1/asm-3.3.1.jar (43 KB at 35.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jdom/jdom/1.1/jdom-1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.jar (52 KB at 42.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-commons/3.3.1/asm-commons-3.3.1.jar (38 KB at 30.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/vafer/jdependency/0.7/jdependency-0.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-compat/3.0/maven-compat-3.0.jar (279 KB at 215.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/vafer/jdependency/0.7/jdependency-0.7.jar (12 KB at 8.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-analysis/3.2/asm-analysis-3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-tree/3.3.1/asm-tree-3.3.1.jar (22 KB at 15.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-util/3.2/asm-util-3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar (59 KB at 42.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/guava/guava/11.0.2/guava-11.0.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jdom/jdom/1.1/jdom-1.1.jar (150 KB at 106.5 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-analysis/3.2/asm-analysis-3.2.jar (18 KB at 12.1 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar (86 KB at 58.7 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-util/3.2/asm-util-3.2.jar (36 KB at 24.2 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/guava/guava/11.0.2/guava-11.0.2.jar (1610 KB at 862.6 KB/sec)
    [INFO] 
    [INFO] --- maven-install-plugin:2.5.2:install (default-install) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/junit/junit/3.8.1/junit-3.8.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/junit/junit/3.8.1/junit-3.8.1.pom (998 B at 16.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-codec/commons-codec/1.6/commons-codec-1.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-codec/commons-codec/1.6/commons-codec-1.6.pom (11 KB at 162.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/22/commons-parent-22.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/22/commons-parent-22.pom (41 KB at 693.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.pom (4 KB at 94.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/junit/junit/3.8.1/junit-3.8.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar
    [INFO] Downloading: http://nexus/repository/maven-group/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-codec/commons-codec/1.6/commons-codec-1.6.jar (228 KB at 826.6 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar (234 KB at 1944.6 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar (37 KB at 126.8 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/junit/junit/3.8.1/junit-3.8.1.jar (119 KB at 409.1 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.jar (152 KB at 816.2 KB/sec)
    [INFO] Installing /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/demo08-0.0.1.jar to /root/.mvnrepository/com/example/demo08/0.0.1/demo08-0.0.1.jar
    [INFO] Installing /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/pom.xml to /root/.mvnrepository/com/example/demo08/0.0.1/demo08-0.0.1.pom
    [INFO] 
    [INFO] --- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ demo08 ---
    [INFO] Using alternate deployment repository local-nexus::default::http://nexus/repository/maven-releases/
    [INFO] Uploading: http://nexus/repository/maven-releases/com/example/demo08/0.0.1/demo08-0.0.1.jar
    [INFO] Uploaded: http://nexus/repository/maven-releases/com/example/demo08/0.0.1/demo08-0.0.1.jar (17054 KB at 22438.4 KB/sec)
    [INFO] Uploading: http://nexus/repository/maven-releases/com/example/demo08/0.0.1/demo08-0.0.1.pom
    [INFO] Uploaded: http://nexus/repository/maven-releases/com/example/demo08/0.0.1/demo08-0.0.1.pom (2 KB at 27.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-releases/com/example/demo08/maven-metadata.xml
    [INFO] Uploading: http://nexus/repository/maven-releases/com/example/demo08/maven-metadata.xml
    [INFO] Uploaded: http://nexus/repository/maven-releases/com/example/demo08/maven-metadata.xml (297 B at 4.0 KB/sec)
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 55.037 s
    [INFO] Finished at: 2018-06-08T09:27:28+00:00
    [INFO] Final Memory: 27M/39M
    [INFO] ------------------------------------------------------------------------
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    ++ cat VERSION
    + export VERSION=0.0.1
    + VERSION=0.0.1
    + skaffold run -f skaffold.yaml
    Starting build...
    2018/06/08 09:27:32 No matching credentials found for index.docker.io, falling back on anoynmous
    2018/06/08 09:27:33 manifest digest: "sha256:5985362b4248867a18850aa2904097ea1250cf347170c67d3c04b8a9331d579a" does not match Docker-Content-Digest: "sha256:48b5e75d2a1cf179b9046360d959702c69dd45d8fd934325a5b3e0f3b4b0d63e" for "index.docker.io/library/openjdk:8-jdk-slim"
    Sending build context to Docker daemon  17.47MB
    Step 1/8 : FROM openjdk:8-jdk-slim
    8-jdk-slim: Pulling from library/openjdk
    f2aa67a397c4: Pulling fs layer
    a44ea3e7c4ff: Pulling fs layer
    8ffd93428115: Pulling fs layer
    bd00e3c2b114: Pulling fs layer
    d7381531c429: Pulling fs layer
    85fcc82e8f1f: Pulling fs layer
    bd00e3c2b114: Waiting
    d7381531c429: Waiting
    85fcc82e8f1f: Waiting
    8ffd93428115: Download complete
    a44ea3e7c4ff: Download complete
    85fcc82e8f1f: Verifying Checksum
    85fcc82e8f1f: Download complete
    d7381531c429: Verifying Checksum
    d7381531c429: Download complete
    f2aa67a397c4: Verifying Checksum
    f2aa67a397c4: Download complete
    f2aa67a397c4: Pull complete
    a44ea3e7c4ff: Pull complete
    8ffd93428115: Pull complete
    bd00e3c2b114: Pull complete
    d7381531c429: Pull complete
    85fcc82e8f1f: Pull complete
    Digest: sha256:48b5e75d2a1cf179b9046360d959702c69dd45d8fd934325a5b3e0f3b4b0d63e
    Status: Downloaded newer image for openjdk:8-jdk-slim
     ---> 954f983e50de
    Step 2/8 : ENV PORT 8080
     ---> Running in 4e6c7b5a84fd
     ---> c43f805d938c
    Step 3/8 : ENV CLASSPATH /opt/lib
     ---> Running in 8a9605bb3fe2
     ---> e07b60e062ef
    Step 4/8 : EXPOSE 8080
     ---> Running in 0ce6e915975e
     ---> 8bfe4d911eec
    Step 5/8 : COPY pom.xml target/lib* /opt/lib/
     ---> 16e4ca793bbf
    Step 6/8 : COPY target/*.jar /opt/app.jar
     ---> 3914513668cc
    Step 7/8 : WORKDIR /opt
     ---> 33583508ec6e
    Step 8/8 : CMD java -jar app.jar
     ---> Running in eb2302455cd5
     ---> f43f122eea24
    Successfully built f43f122eea24
    Successfully tagged 10.59.251.152:5000/grohan2002/demo08:0.0.1
    The push refers to a repository [10.59.251.152:5000/grohan2002/demo08]
    ec7ba7301e4c: Preparing
    b46837de8488: Preparing
    7f3cf739707b: Preparing
    3541b9af137e: Preparing
    253e0bb91f27: Preparing
    8670d085042c: Preparing
    07090e4cb2bc: Preparing
    d626a8ad97a1: Preparing
    8670d085042c: Waiting
    07090e4cb2bc: Waiting
    d626a8ad97a1: Waiting
    253e0bb91f27: Pushed
    b46837de8488: Pushed
    7f3cf739707b: Pushed
    07090e4cb2bc: Pushed
    8670d085042c: Pushed
    ec7ba7301e4c: Pushed
    d626a8ad97a1: Pushed
    3541b9af137e: Pushed
    0.0.1: digest: sha256:109dca61f0896901cdf319d40bc7b840f30b6a2a4ce43e4d14e1964b13abc814 size: 1994
    Build complete in 32.898917606s
    Starting deploy...
    deployment.extensions "skaffold" created
    Deploy complete in 808.651443ms
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + jx step validate --min-jx-version 1.2.36
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    ++ cat VERSION
    + jx step post build --image 10.59.251.152:5000/grohan2002/demo08:0.0.1
    no CVE provider running in the current jx namespace so skip adding image to be analysed[Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (Promote to Environments)
    [Pipeline] dir
    Running in /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/charts/demo08
    [Pipeline] {
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [demo08] Running shell script
    ++ cat ../../VERSION
    + jx step changelog --version v0.0.1
    Using batch mode as inside a pipeline
    Generating change log from git ref bb76504e6bd766135c733c5121925332d694f638 => 782ce196ba9dc310f1daf7668abba9558567c89b
    Unable to find user: jenkins-x.googlegroups.com -- users.jenkins.io "jenkins-x.googlegroups.com" not found
    Unable to find user: jenkins-x.googlegroups.com -- users.jenkins.io "jenkins-x.googlegroups.com" not found
    Finding issues in commit messages using git format
    Unable to find user: aditi.sangave.velotio.com -- users.jenkins.io "aditi.sangave.velotio.com" not found
    Unable to find user: aditi.sangave.velotio.com -- users.jenkins.io "aditi.sangave.velotio.com" not found
    No release found for grohan2002/demo08 and tag v0.0.1 so creating a new release
    Updated the release information at https://github.com/grohan2002/demo08/releases/tag/v0.0.1
    generated: templates/release.yaml
    [Pipeline] sh
    [demo08] Running shell script
    + make release
    rm -rf charts
    rm -rf demo08*.tgz
    helm dependency build
    No requirements found in ./charts.
    helm lint
    ==> Linting .
    Lint OK
    
    1 chart(s) linted, no failures
    helm init --client-only
    Creating /home/jenkins/.helm 
    Creating /home/jenkins/.helm/repository 
    Creating /home/jenkins/.helm/repository/cache 
    Creating /home/jenkins/.helm/repository/local 
    Creating /home/jenkins/.helm/plugins 
    Creating /home/jenkins/.helm/starters 
    Creating /home/jenkins/.helm/cache/archive 
    Creating /home/jenkins/.helm/repository/repositories.yaml 
    Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com 
    Adding local repo with URL: http://127.0.0.1:8879/charts 
    $HELM_HOME has been configured at /home/jenkins/.helm.
    Not installing Tiller due to 'client-only' flag having been set
    Happy Helming!
    helm package .
    Successfully packaged chart and saved it to: /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/charts/demo08/demo08-0.0.1.tgz
    curl --fail -u **** --data-binary "@demo08-0.0.1.tgz" http://jenkins-x-chartmuseum:8080/api/charts
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  2900  100    14  100  2886    331  68251 --:--:-- --:--:-- --:--:-- 68714
    {"saved":true}rm -rf demo08*.tgz%
    [Pipeline] sh
    [demo08] Running shell script
    ++ cat ../../VERSION
    + jx promote -b --all-auto --timeout 1h --version 0.0.1
    Promoting app demo08 version 0.0.1 to namespace jx-staging
    Using pipeline: grohan2002/demo08/master build: #1
    Cloning into '/home/jenkins/.jx/environments/grohan2002/environment-carpcoal-staging'...
    Found remote branch names master, HEAD -> origin/master, master
    Switched to branch 'promote-demo08-0.0.1'
    [promote-demo08-0.0.1 d74c381] Promote demo08 to version 0.0.1
     1 file changed, 8 insertions(+), 5 deletions(-)
    To https://github.com/grohan2002/environment-carpcoal-staging.git
     * [new branch]      HEAD -> promote-demo08-0.0.1
    Created Pull Request: https://github.com/grohan2002/environment-carpcoal-staging/pull/1
    
    Using pipeline: grohan2002/demo08/master build: #1
    WARNING: Failed to query the Pull Request last commit status for https://github.com/grohan2002/environment-carpcoal-staging/pull/1 ref d74c381b0cdaa2568b405e4cd21af5a83788f260 Could not find a status for repository grohan2002/environment-carpcoal-staging with ref d74c381b0cdaa2568b405e4cd21af5a83788f260
    Pull Request https://github.com/grohan2002/environment-carpcoal-staging/pull/1 is merged at sha 0cca71e15070fb485714bf8ce5763fd9c9ba72f6
    Merge commit has not yet any statuses on repo grohan2002/environment-carpcoal-staging merge sha 0cca71e15070fb485714bf8ce5763fd9c9ba72f6
    merge status: pending for URL https://api.github.com/repos/grohan2002/environment-carpcoal-staging/statuses/0cca71e15070fb485714bf8ce5763fd9c9ba72f6 with target: http://unconfigured-jenkins-location/job/grohan2002/job/environment-carpcoal-staging/job/master/2/display/redirect description: This commit is being built
    EXITCODE   0merge status: success for URL https://api.github.com/repos/grohan2002/environment-carpcoal-staging/statuses/0cca71e15070fb485714bf8ce5763fd9c9ba72f6 with target: http://unconfigured-jenkins-location/job/grohan2002/job/environment-carpcoal-staging/job/master/2/display/redirect description: This commit looks good
    Merge status checks all passed so the promotion worked!
    Application is available at: http://demo08.jx-staging.35.230.49.158.nip.io
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // dir
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (Declarative: Post Actions)
    [Pipeline] cleanWs
    [WS-CLEANUP] Deleting project workspace...[WS-CLEANUP] done
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] }
    [Pipeline] // withEnv
    [Pipeline] }
    [Pipeline] // withCredentials
    [Pipeline] }
    [Pipeline] // withEnv
    [Pipeline] }
    [Pipeline] // node
    [Pipeline] End of Pipeline
    
    GitHub has been notified of this commit’s build result
    
    Finished: SUCCESS

    • The first build takes time because it downloads some dependencies from maven central.
    • We are using Nexus which was installed as a part of Jenkins X platform so that remaining builds will be faster because dependencies will be cached.
    • After that it tags our potential release & push tags to Github.It then builds application using maven.
    • It uploads artefacts to Nexus so that it can be shared between the teams.
    • Docker image is been built for this application & pushed to docker registry.
    • It then generates change log and publish it to chartmuseum registry.
    • Pipeline waits for pull request for staging environment to be merged and then waits for another pipeline to be triggered & perform deployment for our new application on staging environment using helm.
    • Now we can see staging environment with our application running in it.

    3. Application deployment onto staging environment 

    Using CLI, we can see our application is now deployed to staging environment with version 0.0.1

    $ jx get apps
    APPLICATION STAGING PODS URL
    
    PRODUCTION PODS URL
    demo08 0.0.1 1/1 http://demo08.jx-staging.35.230.49.158.nip.io

    4. Application URL

    We can get application URL with following command

    $ jx open --env staging
    Name URL
    demo08 http://demo08.jx-staging.35.230.49.158.nip.io

    5. Start working on the project

    Now we can start working on our new project. Go to your project location and from there you can actually create a Github issue.

    $ cd demo08/
    $ jx create issue -t 'add a homepage'

    6. Add HTML Page

    Now switch to your working branch and add a simple HTML page.

    $ git checkout -b wip
    $ vi src/main/resources/static/index.html

    $ git add src
    $ git commit -a -m 'add a homepage fixes #1'
    $ git push origin wip

    7. Create a pull request 

    Then create a pull request from working branch to master branch. After that our CI pipeline is automatically triggered.

    After some time, our CI checks pass.

    8. There we can see a comment has been added to the pull request saying our application is been built and deployed into the preview environment.

    9. Now our application is deployed in preview environment.

    $ jx get apps 

    10. Now, you can see the application running on the given URL.

    So where is Jenkins?

    As you have seen, there was no direct interaction with Jenkins, but it is there, running the pipelines for continuous integration and continuous delivery of the repository, and orchestrating things with Kubernetes.

    If you run jx get pipelines you can see URLs to the various pipelines that have been setup for you are part of interacting with Jenkins X.

    Additional JX Commands:

    jx open

    • open apps, services or pipelines in your browser

    jx activity

    • explains how things got to where they are, a history

    jx get environments

    • list environments

    jx get apps

    • show the state of applications, what versions are in what environments.

    Conclusion

    So this is how Jenkins X automates installation, configuration of Jenkins and some other software components. It also automates CI/CD for your applications on Kubernetes along with promotions through GitHub.

  • Mesosphere DC/OS Masterclass : Tips and Tricks to Make Life Easier

    DC/OS is an open-source operating system and distributed system for data center built on Apache Mesos distributed system kernel. As a distributed system, it is a cluster of master nodes and private/public nodes, where each node also has host operating system which manages the underlying machine. 

    It enables the management of multiple machines as if they were a single computer. It automates resource management, schedules process placement, facilitates inter-process communication, and simplifies the installation and management of distributed services. Its included web interface and available command-line interface (CLI) facilitate remote management and monitoring of the cluster and its services.

    • Distributed System DC/OS is distributed system with group of private and public nodes which are coordinated by master nodes.
    • Cluster Manager : DC/OS  is responsible for running tasks on agent nodes and providing required resources to them. DC/OS uses Apache Mesos to provide cluster management functionality.
    • Container Platform : All DC/OS tasks are containerized. DC/OS uses two different container runtimes, i.e. docker and mesos. So that containers can be started from docker images or they can be native executables (binaries or scripts) which are containerized at runtime by mesos.
    • Operating System :  As name specifies, DC/OS is an operating system which abstracts cluster h/w and s/w resources and provide common services to applications.

    Unlike Linux, DC/OS is not a host operating system. DC/OS spans multiple machines, but relies on each machine to have its own host operating system and host kernel.

    The high level architecture of DC/OS can be seen below :

    For the detailed architecture and components of DC/OS, please click here.

    Adoption and usage of Mesosphere DC/OS:

    Mesosphere customers include :

    • 30% of the Fortune 50 U.S. Companies
    • 5 of the top 10 North American Banks
    • 7 of the top 12 Worldwide Telcos
    • 5 of the top 10 Highest Valued Startups

    Some companies using DC/OS are :

    • Cisco
    • Yelp
    • Tommy Hilfiger
    • Uber
    • Netflix
    • Verizon
    • Cerner
    • NIO

    Installing and using DC/OS

    A guide to installing DC/OS can be found here. After installing DC/OS on any platform, install dcos cli by following documentation found here.

    Using dcos cli, we can manager cluster nodes, manage marathon tasks and services, install/remove packages from universe and it provides great support for automation process as each cli command can be output to json.

    NOTE: The tasks below are executed with and tested on below tools:

    • DC/OS 1.11 Open Source
    • DC/OS cli 0.6.0
    • jq:1.5-1-a5b5cbe

    DC/OS commands and scripts

    Setup DC/OS cli with DC/OS cluster

    dcos cluster setup <CLUSTER URL>

    Example :

    dcos cluster setup http://dcos-cluster.com

    The above command will give you the link for oauth authentication and prompt for auth token. You can authenticate yourself with any of Google, Github or Microsoft account. Paste the token generated after authentication to cli prompt. (Provided oauth is enabled).

    DC/OS authentication token

    docs config show core.dcos_acs_token

    DC/OS cluster url

    dcos config show core.dcos_url

    DC/OS cluster name

    dcos config show cluster.name

    Access Mesos UI

    <DC/OS_CLUSTER_URL>/mesos

    Example:

    http://dcos-cluster.com/mesos

    Access Marathon UI

    <DC/OS_CLUSTER_URL>/service/marathon

    Example:

    http://dcos-cluster.com/service/marathon

    Access any DC/OS service, like Marathon, Kafka, Elastic, Spark etc.[DC/OS Services]

    <DC/OS_CLUSTER_URL>/service/<SERVICE_NAME>

    Example:

    http://dcos-cluster.com/service/marathon
    http://dcos-cluster.com/service/kafka

    Access DC/OS slaves info in json using Mesos API [Mesos Endpoints]

    curl -H "Authorization: Bearer $(dcos config show 
    core.dcos_acs_token)" $(dcos config show 
    core.dcos_url)/mesos/slaves | jq

    Access DC/OS slaves info in json using DC/OS cli

    dcos node --json

    Note : DC/OS cli ‘dcos node –json’ is equivalent to running mesos slaves endpoint (/mesos/slaves)

    Access DC/OS private slaves info using DC/OS cli

    dcos node --json | jq '.[] | select(.type | contains("agent")) | select(.attributes.public_ip == null) | "Private Agent : " + .hostname ' -r

    Access DC/OS public slaves info using DC/OS cli

    dcos node --json | jq '.[] | select(.type | contains("agent")) | select(.attributes.public_ip != null) | "Public Agent : " + .hostname ' -r

    Access DC/OS private and public slaves info using DC/OS cli

    dcos node --json | jq '.[] | select(.type | contains("agent")) | if (.attributes.public_ip != null) then "Public Agent : " else "Private Agent : " end + " - " + .hostname ' -r | sort

    Get public IP of all public agents

    #!/bin/bash
    
    for id in $(dcos node --json | jq --raw-output '.[] | select(.attributes.public_ip == "true") | .id'); 
    do 
          dcos node ssh --option StrictHostKeyChecking=no --option LogLevel=quiet --master-proxy --mesos-id=$id "curl -s ifconfig.co"
    done 2>/dev/null

    Note: As ‘dcos node ssh’ requires private key to be added to ssh. Make sure you add your private key as ssh identity using :

    ssh-add </path/to/private/key/file/.pem>

    Get public IP of master leader

    dcos node ssh --option StrictHostKeyChecking=no --option LogLevel=quiet --master-proxy --leader "curl -s ifconfig.co" 2>/dev/null

    Get all master nodes and their private ip

    dcos node --json | jq '.[] | select(.type | contains("master"))
    | .ip + " = " + .type' -r

    Get list of all users who have access to DC/OS cluster

    curl -s -H "Authorization: Bearer $(dcos config show core.dcos_acs_token)"
    "$(dcos config show core.dcos_url)/acs/api/v1/users" | jq ‘.array[].uid’ -r

    Add users to cluster using Mesosphere script (Run this on master)

    Users to add are given in list.txt, each user on new line

    for i in `cat list.txt`; do echo $i;
    sudo -i dcos-shell /opt/mesosphere/bin/dcos_add_user.py $i; done

    Add users to cluster using DC/OS API

    #!/bin/bash
    
    # Uage dcosAddUsers.sh <Users to add are given in list.txt, each user on new line>
    for i in `cat users.list`; 
    do 
      echo $i
      curl -X PUT -H "Authorization: Bearer $(dcos config show core.dcos_acs_token)" "$(dcos config show core.dcos_url)/acs/api/v1/users/$i" -d "{}"
    done

    Delete users from DC/OS cluster organization

    #!/bin/bash
    
    # Usage dcosDeleteUsers.sh <Users to delete are given in list.txt, each user on new line>
    
    for i in `cat users.list`; 
    do 
      echo $i
      curl -X DELETE -H "Authorization: Bearer $(dcos config show core.dcos_acs_token)" "$(dcos config show core.dcos_url)/acs/api/v1/users/$i" -d "{}"
    done

    Offers/resources from individual DC/OS agent

    In recent versions of the many dcos services, a scheduler endpoint at                

    http://yourcluster.com/service/<service-name>/v1/debug/offers

    will display an HTML table containing a summary of recently-evaluated offers. This table’s contents are currently very similar to what can be found in logs, but in a slightly more accessible format. Alternately, we can look at the scheduler’s logs in stdout. An offer is a set of resources all from one individual DC/OS agent.

    <DC/OS_CLUSTER_URL>/service/<service_name>/v1/debug/offers

    Example:

    http://dcos-cluster.com/service/kafka/v1/debug/offers
    http://dcos-cluster.com/service/elastic/v1/debug/offers

    Save JSON configs of all running Marathon apps

    #!/bin/bash
    
    # Save marathon configs in json format for all marathon apps
    # Usage : saveMarathonConfig.sh
    
    for service in `dcos marathon app list --quiet | tr -d "/" | sort`; do
      dcos marathon app show $service | jq '. | del(.tasks, .version, .versionInfo, .tasksHealthy, .tasksRunning, .tasksStaged, .tasksUnhealthy, .deployments, .executor, .lastTaskFailure, .args, .ports, .residency, .secrets, .storeUrls, .uris, .user)' >& $service.json
    done

    Get report of Marathon apps with details like container type, Docker image, tag or service version used by Marathon app.

    #!/bin/bash
    
    TMP_CSV_FILE=$(mktemp /tmp/dcos-config.XXXXXX.csv)
    TMP_CSV_FILE_SORT="${TMP_CSV_FILE}_sort"
    #dcos marathon app list --json | jq '.[] | if (.container.docker.image != null ) then .id + ",Docker Application," + .container.docker.image else .id + ",DCOS Service," + .labels.DCOS_PACKAGE_VERSION end' -r > $TMP_CSV_FILE
    dcos marathon app list --json | jq '.[] | .id + if (.container.type == "DOCKER") then ",Docker Container," + .container.docker.image else ",Mesos Container," + if(.labels.DCOS_PACKAGE_VERSION !=null) then .labels.DCOS_PACKAGE_NAME+":"+.labels.DCOS_PACKAGE_VERSION  else "[ CMD ]" end end' -r > $TMP_CSV_FILE
    sed -i "s|^/||g" $TMP_CSV_FILE
    sort -t "," -k2,2 -k3,3 -k1,1 $TMP_CSV_FILE > ${TMP_CSV_FILE_SORT}
    cnt=1
    printf '%.0s=' {1..150}
    printf "n  %-5s%-35s%-23s%-40s%-20sn" "No" "Application Name" "Container Type" "Docker Image" "Tag / Version"
    printf '%.0s=' {1..150}
    while IFS=, read -r app typ image; 
    do
            tag=`echo $image | awk -F':' -v im="$image" '{tag=(im=="[ CMD ]")?"NA":($2=="")?"latest":$2; print tag}'`
            image=`echo $image | awk -F':' '{print $1}'`
            printf "n  %-5s%-35s%-23s%-40s%-20s" "$cnt" "$app" "$typ" "$image" "$tag"
            cnt=$((cnt + 1))
            sleep 0.3
    done < $TMP_CSV_FILE_SORT
    printf "n"
    printf '%.0s=' {1..150}
    printf "n"

    Get DC/OS nodes with more information like node type, node ip, attributes, number of running tasks, free memory, free cpu etc.

    #!/bin/bash
    
    printf "n  %-15s %-18s%-18s%-10s%-15s%-10sn" "Node Type" "Node IP" "Attribute" "Tasks" "Mem Free (MB)" "CPU Free"
    printf '%.0s=' {1..90}
    printf "n"
    TAB=`echo -e "t"`
    dcos node --json | jq '.[] | if (.type | contains("leader")) then "Master (leader)" elif ((.type | contains("agent")) and .attributes.public_ip != null) then "Public Agent" elif ((.type | contains("agent")) and .attributes.public_ip == null) then "Private Agent" else empty end + "t"+ if(.type |contains("master")) then .ip else .hostname end + "t" +  (if (.attributes | length !=0) then (.attributes | to_entries[] | join(" = ")) else "NA" end) + "t" + if(.type |contains("agent")) then (.TASK_RUNNING|tostring) + "t" + ((.resources.mem - .used_resources.mem)| tostring) + "tt" +  ((.resources.cpus - .used_resources.cpus)| tostring)  else "ttNAtNAttNA"  end' -r | sort -t"$TAB" -k1,1d -k3,3d -k2,2d
    printf '%.0s=' {1..90}
    printf "n"

    Framework Cleaner

    Uninstall framework and clean reserved resources if any after framework is deleted/uninstalled. (applicable if running DC/OS 1.9 or older, if higher than 1.10, then only uninstall cli is sufficient)

    SERVICE_NAME=
    dcos package uninstall $SERVICE_NAME
    dcos node ssh --option StrictHostKeyChecking=no --master-proxy
    --leader "docker run mesosphere/janitor /janitor.py -r
    ${SERVICE_NAME}-role -p ${SERVICE_NAME}-principal -z dcos-service-${SERVICE_NAME}"

    Get DC/OS apps and their placement constraints

    dcos marathon app list --json | jq '.[] |
    if (.constraints != null) then .id, .constraints else empty end'

    Run shell command on all slaves

    #!/bin/bash
    
    # Run any shell command on all slave nodes (private and public)
    
    # Usage : dcosRunOnAllSlaves.sh <CMD= any shell command to run, Ex: ulimit -a >
    CMD=$1
    for i in `dcos node | egrep -v "TYPE|master" | awk '{print $1}'`; do 
       echo -e "n###> Running command [ $CMD ] on $i"
       dcos node ssh --option StrictHostKeyChecking=no --option LogLevel=quiet --master-proxy --private-ip=$i "$CMD"
       echo -e "======================================n"
    done

    Run shell command on master leader

    CMD=<shell command, Ex: ulimit -a >dcos node ssh --option StrictHostKeyChecking=no --option
    LogLevel=quiet --master-proxy --leader "$CMD"

    Run shell command on all master nodes

    #!/bin/bash
    
    # Run any shell command on all master nodes
    
    # Usage : dcosRunOnAllSlaves.sh <CMD= any shell command to run, Ex: ulimit -a >
    CMD=$1
    for i in `dcos node | egrep -v "TYPE|agent" | awk '{print $2}'` 
    do 
      echo -e "n###> Running command [ $CMD ] on $i"
      dcos node ssh --option StrictHostKeyChecking=no --option LogLevel=quiet --master-proxy --private-ip=$i "$CMD"
     echo -e "======================================n"
    done

    Add node attributes to dcos nodes and run apps on nodes with required attributes using placement constraints

    #!/bin/bash
    
    #1. SSH on node 
    #2. Create or edit file /var/lib/dcos/mesos-slave-common
    #3. Add contents as :
    #    MESOS_ATTRIBUTES=<key>:<value>
    #    Example:
    #    MESOS_ATTRIBUTES=TYPE:DB;DB_TYPE:MONGO;
    #4. Stop dcos-mesos-slave service
    #    systemctl stop dcos-mesos-slave
    #5. Remove link for latest slave metadata
    #    rm -f /var/lib/mesos/slave/meta/slaves/latest
    #6. Start dcos-mesos-slave service
    #    systemctl start dcos-mesos-slave
    #7. Wait for some time, node will be in HEALTHY state again.
    #8. Add app placement constraint with field = key and value = value
    #9. Verify attributes, run on any node
    #    curl -s http://leader.mesos:5050/state | jq '.slaves[]| .hostname ,.attributes'
    #    OR Check DCOS cluster UI
    #    Nodes => Select any Node => Details Tab
    
    tmpScript=$(mktemp "/tmp/addDcosNodeAttributes-XXXXXXXX")
    
    # key:value paired attribues, separated by ;
    ATTRIBUTES=NODE_TYPE:GPU_NODE
    
    cat <<EOF > ${tmpScript}
    echo "MESOS_ATTRIBUTES=${ATTRIBUTES}" | sudo tee /var/lib/dcos/mesos-slave-common
    sudo systemctl stop dcos-mesos-slave
    sudo rm -f /var/lib/mesos/slave/meta/slaves/latest
    sudo systemctl start dcos-mesos-slave
    EOF
    
    # Add the private ip of nodes on which you want to add attrubutes, one ip per line.
    for i in `cat nodes.txt`; do 
        echo $i
        dcos node ssh --master-proxy --option StrictHostKeyChecking=no --private-ip $i <$tmpScript
        sleep 10
    done

    Install DC/OS Datadog metrics plugin on all DC/OS nodes

    #!/bin/bash
    
    # Usage : bash installDCOSDataDogMetricsPlugin.sh <Datadog API KEY>
    
    DDAPI=$1
    
    if [[ -z $DDAPI ]]; then
        echo "[Datadog Plugin] Need datadog API key as parameter."
        echo "[Datadog Plugin] Usage : bash installDCOSDataDogMetricsPlugin.sh <Datadog API KEY>."
    fi
    tmpScriptMaster=$(mktemp "/tmp/installDatadogPlugin-XXXXXXXX")
    tmpScriptAgent=$(mktemp "/tmp/installDatadogPlugin-XXXXXXXX")
    
    declare agent=$tmpScriptAgent
    declare master=$tmpScriptMaster
    
    for role in "agent" "master"
    do
    cat <<EOF > ${!role}
    curl -s -o /opt/mesosphere/bin/dcos-metrics-datadog -L https://downloads.mesosphere.io/dcos-metrics/plugins/datadog
    chmod +x /opt/mesosphere/bin/dcos-metrics-datadog
    echo "[Datadog Plugin] Downloaded dcos datadog metrics plugin."
    export DD_API_KEY=$DDAPI
    export AGENT_ROLE=$role
    sudo curl -s -o /etc/systemd/system/dcos-metrics-datadog.service https://downloads.mesosphere.io/dcos-metrics/plugins/datadog.service
    echo "[Datadog Plugin] Downloaded dcos-metrics-datadog.service."
    sudo sed -i "s/--dcos-role master/--dcos-role \$AGENT_ROLE/g;s/--datadog-key .*/--datadog-key \$DD_API_KEY/g" /etc/systemd/system/dcos-metrics-datadog.service
    echo "[Datadog Plugin] Updated dcos-metrics-datadog.service with DD API Key and agent role."
    sudo systemctl daemon-reload
    sudo systemctl start dcos-metrics-datadog.service
    echo "[Datadog Plugin] dcos-metrics-datadog.service is started !"
    servStatus=\$(sudo systemctl is-failed dcos-metrics-datadog.service)
    echo "[Datadog Plugin] dcos-metrics-datadog.service status : \${servStatus}"
    #sudo systemctl status dcos-metrics-datadog.service | head -3
    #sudo journalctl -u dcos-metrics-datadog
    EOF
    done
    
    echo "[Datadog Plugin] Temp script for master saved at : $tmpScriptMaster"
    echo "[Datadog Plugin] Temp script for agent saved at : $tmpScriptAgent"
    
    for i in `dcos node | egrep -v "TYPE|master" | awk '{print $1}'` 
    do 
        echo -e "\n###> Node - $i"
        dcos node ssh --option LogLevel=quiet --option StrictHostKeyChecking=no --master-proxy --private-ip=$i < $tmpScriptAgent
        echo -e "======================================================="
    done
    
    for i in `dcos node | egrep -v "TYPE|agent" | awk '{print $2}'` 
    do 
        echo -e "\n###> Master Node - $i"
        dcos node ssh --option LogLevel=quiet --option StrictHostKeyChecking=no --master-proxy --private-ip=$i < $tmpScriptMaster
        echo -e "======================================================="
    done
    
    # Check status of dcos-metrics-datadog.service on all nodes.
    #for i in `dcos node | egrep -v "TYPE|master" | awk '{print $1}'` ; do  echo -e "\n###> $i"; dcos node ssh --option StrictHostKeyChecking=no --option LogLevel=quiet --master-proxy --private-ip=$i "sudo systemctl is-failed dcos-metrics-datadog.service"; echo -e "======================================\n"; done

    Get app / node metrics fetched by dcos-metrics component using metrics API

    • Get DC/OS node id [dcos node]
    • Get Node metrics (CPU, memory, local filesystems, networks, etc) :  <dc os_cluster_url=””>/system/v1/agent/<agent_id>/metrics/v0/node</agent_id></dc>
    • Get id of all containers running on that agent : <dc os_cluster_url=””>/system/v1/agent/<agent_id>/metrics/v0/containers</agent_id></dc>
    • Get Resource allocation and usage for the given container ID. : <dc os_cluster_url=””>/system/v1/agent/<agent_id>/metrics/v0/containers/<container_id></container_id></agent_id></dc>
    • Get Application-level metrics from the container (shipped in StatsD format using the listener available at STATSD_UDP_HOST and STATSD_UDP_PORT) : <dc os_cluster_url=””>/system/v1/agent/<agent_id>/metrics/v0/containers/<container_id>/app     </container_id></agent_id></dc>

    Get app / node metrics fetched by dcos-metrics component using dcos cli

    • Summary of container metrics for a specific task
    dcos task metrics summary <task-id>

    • All metrics in details for a specific task
    dcos task metrics details <task-id>

    • Summary of Node metrics for a specific node
    dcos task metrics summary <mesos-node-id>

    • All Node metrics in details for a specific node
    dcos node metrics details <mesos-node-id>

    NOTE – All above commands have ‘–json’ flag to use them programmatically.  

    Launch / run command inside container for a task

    DC/OS task exec cli only supports Mesos containers, this script supports both Mesos and Docker containers.

    #!/bin/bash
    
    echo "DCOS Task Exec 2.0"
    if [ "$#" -eq 0 ]; then
            echo "Need task name or id as input. Exiting."
            exit 1
    fi
    taskName=$1
    taskCmd=${2:-bash}
    TMP_TASKLIST_JSON=/tmp/dcostasklist.json
    dcos task --json > $TMP_TASKLIST_JSON
    taskExist=`cat /tmp/dcostasklist.json | jq --arg tname $taskName '.[] | if(.name == $tname ) then .name else empty end' -r | wc -l`
    if [[ $taskExist -eq 0 ]]; then 
            echo "No task with name $taskName exists."
            echo "Do you mean ?"
            dcos task | grep $taskName | awk '{print $1}'
            exit 1
    fi
    taskType=`cat $TMP_TASKLIST_JSON | jq --arg tname $taskName '[.[] | select(.name == $tname)][0] | .container.type' -r`
    TaskId=`cat $TMP_TASKLIST_JSON | jq --arg tname $taskName '[.[] | select(.name == $tname)][0] | .id' -r`
    if [[ $taskExist -ne 1 ]]; then
            echo -e "More than one instances. Please select task ID for executing command.n"
            #allTaskIds=$(dcos task $taskName | tee /dev/tty | grep -v "NAME" | awk '{print $5}' | paste -s -d",")
            echo ""
            read TaskId
    fi
    if [[ $taskType !=  "DOCKER" ]]; then
            echo "Task [ $taskName ] is of type MESOS Container."
            execCmd="dcos task exec --interactive --tty $TaskId $taskCmd"
            echo "Running [$execCmd]"
            $execCmd
    else
            echo "Task [ $taskName ] is of type DOCKER Container."
            taskNodeIP=`dcos task $TaskId | awk 'FNR == 2 {print $2}'`
            echo "Task [ $taskName ] with task Id [ $TaskId ] is running on node [ $taskNodeIP ]."
            taskContID=`dcos node ssh --option LogLevel=quiet --option StrictHostKeyChecking=no --private-ip=$taskNodeIP --master-proxy "docker ps -q --filter "label=MESOS_TASK_ID=$TaskId"" 2> /dev/null`
            taskContID=`echo $taskContID | tr -d 'r'`
            echo "Task Docker Container ID : [ $taskContID ]"
            echo "Running [ docker exec -it $taskContID $taskCmd ]"
            dcos node ssh --option StrictHostKeyChecking=no --option LogLevel=quiet --private-ip=$taskNodeIP --master-proxy "docker exec -it $taskContID $taskCmd" 2>/dev/null
    fi

    Get DC/OS tasks by node

    #!/bin/bash 
    
    function tasksByNodeAPI
    {
        echo "DC/OS Tasks By Node"
        if [ "$#" -eq 0 ]; then
            echo "Need node ip as input. Exiting."
            exit 1
        fi
        nodeIp=$1
        mesosId=`dcos node | grep $nodeIp | awk '{print $3}'`
        if [ -z "mesosId" ]; then
            echo "No node found with ip $nodeIp. Exiting."
            exit 1
        fi
        curl -s -H "Authorization: Bearer $(dcos config show core.dcos_acs_token)" "$(dcos config show core.dcos_url)/mesos/tasks?limit=10000" | jq --arg mesosId $mesosId '.tasks[] | select (.slave_id == $mesosId and .state == "TASK_RUNNING") | .name + "ttt" + .id'  -r
    }
    
    function tasksByNodeCLI
    {
            echo "DC/OS Tasks By Node"
            if [ "$#" -eq 0 ]; then
                    echo "Need node ip as input. Exiting."
                    exit 1
            fi
            nodeIp=$1
            dcos task | egrep "HOST|$nodeIp"
    }

    Get cluster metadata – cluster Public IP and cluster ID

    curl -s -H "Authorization: Bearer $(dcos config show core.dcos_acs_token)"           
    $(dcos config show core.dcos_url)/metadata 

    Sample Output:

    {
    "PUBLIC_IPV4": "123.456.789.012",
    "CLUSTER_ID": "abcde-abcde-abcde-abcde-abcde-abcde"
    }

    Get DC/OS metadata – DC/OS version

    curl -s -H "Authorization: Bearer $(dcos config show core.dcos_acs_token)"
    $(dcos config show core.dcos_url)/dcos-metadata/dcos-version.jsonq  

    Sample Output:

    {
    "version": "1.11.0",
    "dcos-image-commit": "b6d6ad4722600877fde2860122f870031d109da3",
    "bootstrap-id": "a0654657903fb68dff60f6e522a7f241c1bfbf0f"
    }

    Get Mesos version

    curl -s -H "Authorization: Bearer $(dcos config show core.dcos_acs_token)"
    $(dcos config show core.dcos_url)/mesos/version

    Sample Output:

    {
    "build_date": "2018-02-27 21:31:27",
    "build_time": 1519767087.0,
    "build_user": "",
    "git_sha": "0ba40f86759307cefab1c8702724debe87007bb0",
    "version": "1.5.0"
    }

    Access DC/OS cluster exhibitor UI (Exhibitor supervises ZooKeeper and provides a management web interface)

    <CLUSTER_URL>/exhibitor

    Access DC/OS cluster data from cluster zookeeper using Zookeeper Python client – Run inside any node / container

    from kazoo.client import KazooClient
    
    zk = KazooClient(hosts='leader.mesos:2181', read_only=True)
    zk.start()
    
    clusterId = ""
    # Here we can give znode path to retrieve its decoded data,
    # for ex to get cluster-id, use
    # data, stat = zk.get("/cluster-id")
    # clusterId = data.decode("utf-8")
    
    # Get cluster Id
    if zk.exists("/cluster-id"):
        data, stat = zk.get("/cluster-id")
        clusterId = data.decode("utf-8")
    
    zk.stop()
    
    print (clusterId)

    Access dcos cluster data from cluster zookeeper using exhibitor rest API

    # Get znode data using endpoint :
    # /exhibitor/exhibitor/v1/explorer/node-data?key=/path/to/node
    # Example : Get znode data for path = /cluster-id
    curl -s -H "Authorization: Bearer $(dcos config show core.dcos_acs_token)"
    $(dcos config show core.dcos_url)/exhibitor/exhibitor/v1/explorer/node-data?key=/cluster-id

    Sample Output:

    {
    "bytes": "3333-XXXXXX",
    "str": "abcde-abcde-abcde-abcde-abcde-",
    "stat": "XXXXXX"
    }

    Get cluster name using Mesos API

    curl -s -H "Authorization: Bearer $(dcos config show core.dcos_acs_token)"
    $(dcos config show core.dcos_url)/mesos/state-summary | jq .cluster -r

    Mark Mesos node as decommissioned

    Some times instances which are running as DC/OS node gets terminated and can not come back online, like AWS EC2 instances, once terminated due to any reason, can not start back. When Mesos detects that a node has stopped, it puts the node in the UNREACHABLE state because Mesos does not know if the node is temporarily stopped and will come back online, or if it is permanently stopped. In such case, we can explicitly tell Mesos to put a node in the GONE state if we know a node will not come back.

    dcos node decommission <mesos-agent-id>

    Conclusion

    We learned about Mesosphere DC/OS, its functionality and roles. We also learned how to setup and use DC/OS cli and use http authentication to access DC/OS APIs as well as using DC/OS cli for automating tasks.

    We went through different API endpoints like Mesos, Marathon, DC/OS metrics, exhibitor, DC/OS cluster organization etc. Finally, we looked at different tricks and scripts to automate DC/OS, like DC/OS node details, task exec, Docker report, DC/OS API http authentication etc.

  • How Much Do You Really Know About Simplified Cloud Deployments?

    Is your EC2/VM bill giving you sleepless nights?

    Are your EC2 instances under-utilized? Have you been wondering if there was an easy way to maximize the EC2/VM usage?

    Are you investing too much in your Control Plane and wish you could divert some of that investment towards developing more features in your applications (business logic)?

    Is your Configuration Management system overwhelming you and seems to have got a life of its own?

    Do you have legacy applications that do not need Docker at all?

    Would you like to simplify your deployment toolchain to streamline your workflows?

    Have you been recommended to use Kubernetes as a problem to fix all your woes, but you aren’t sure if Kubernetes is actually going to help you?

    Do you feel you are moving towards Docker, just so that Kubernetes can be used?

    If you answered “Yes” to any of the questions above, do read on, this article is just what you might need.

    There are steps to create a simple setup on your laptop at the end of the article.

    Introduction

    In the following article, we will present the typical components of a multi-tier application and how it is setup and deployed.

    We shall further go on to see how the same application deployment can be remodeled for scale using any Cloud Infrastructure. (The same software toolchain can be used to deploy the application on your On-Premise Infrastructure as well)

    The tools that we propose are Nomad and Consul. We shall focus more on how to use these tools, rather than deep-dive into the specifics of the tools. We will briefly see the features of the software which would help us achieve our goals.

    • Nomad is a distributed workload manager for not only Docker containers, but also for various other types of workloads like legacy applications, JAVA, LXC, etc.

    More about Nomad Drivers here: Nomadproject.io, application delivery with HashiCorp, introduction to HashiCorp Nomad.

    • Consul is a distributed service mesh, with features like service registry and a key-value store, among others.

    Using these tools, the application/startup workflow would be as follows:

    Nomad will be responsible for starting the service.

    Nomad will publish the service information in Consul. The service information will include details like:

    • Where is the application running (IP:PORT) ?
    • What “service-name” is used to identify the application?
    • What “tags” (metadata) does this application have?

    A Typical Application

    A typical application deployment consists of a certain fixed set of processes, usually coupled with a database and a set of few (or many) peripheral services.

    These services could be primary (must-have) or support (optional) features of the application.

    Note: We are aware about what/how a proper “service-oriented-architecture” should be, though we will skip that discussion for now. We will rather focus on how real-world applications are setup and deployed.

    Simple Multi-tier Application

    In this section, let’s see the components of a multi-tier application along with typical access patterns from outside the system and within the system.

    • Load Balancer/Web/Front End Tier
    • Application Services Tier
    • Database Tier
    • Utility (or Helper Servers): To run background, cron, or queued jobs.

    Using a proxy/loadbalancer, the services (Service-A, Service-B, Service-C) could be accessed using distinct hostnames:

    • a.example.tld
    • b.example.tld
    • c.example.tld

    For an equivalent path-based routing approach, the setup would be similar. Instead of distinct hostnames, the communication mechanism would be:

    • common-proxy.example.tld/path-a/
    • common-proxy.example.tld/path-b/
    • common-proxy.example.tld/path-c/

    Problem Scenario 1

    Some of the basic problems with the deployment of the simple multi-tier application are:

    • What if the service process crashes during its runtime?
    • What if the host on which the services run shuts down, reboots or terminates?

    This is where Nomad’s feature of always keep the service running would be useful.

    In spite of this auto-restart feature, there could be issues if the service restarts on a different machine (i.e. different IP address).

    In case of Docker and ephemeral ports, the service could start on a different port as well.

    To solve this, we will use the service discovery feature provided by Consul, combined with a with a Consul-aware load-balancer/proxy to redirect traffic to the appropriate service.

    The order of the operations within the Nomad job will thus be:

    • Nomad will launch the job/task.
    • Nomad will register the task details as a service definition in Consul.
      (These steps will be re-executed if/when the application is restarted due to a crash/fail-over)
    • The Consul-aware load-balancer will route the traffic to the service (IP:PORT)

    Multi-tier Application With Load Balancer

    Using the Consul-aware load-balancer, the diagram will now look like:

    The details of the setup now are:

    • A Consul-aware load-balancer/proxy; the application will access the services via the load-balancer.
    • 3 (three) instances of service A; A1, A2, A3
    • 3 (three) instances of service B; B1, B2, B3

    The Routing Question

    At this moment, you could be wondering, “Why/How would the load-balancer know that it has to route traffic for service-A to A1/A2/A3 and route traffic for service-B to B1/B2/B3 ?”

    The answer lies in the Consul tags which will be published as part of the service definition (when Nomad registers the service in Consul).

    The appropriate Consul tags will tell the load-balancer to route traffic of a particular service to the appropriate backend. (+++)

    Let’s read that statement again (very slowly, just to be sure); The Consul tags, which are part of the service definition, will inform (advertise) the load-balancer to route traffic to the appropriate backend.

    The reason to dwell upon this distinction is very important, as this is different from how the classic load-balancer/proxy software like HAProxy or NGINX are configured. For HAProxy/NGINX the backend routing information resides with the load-balancer instance and is not “advertised” by the backend.

    The traditional load-balancers like NGINX/HAProxy do not natively support dynamic reloading of the backends. (when the backends stop/start/move-around). The heavy lifting of regenerating the configuration file and reloading the service is left up to an external entity like Consul-Template.

    The use of a Consul-aware load-balancer, instead of a traditional load-balancer, eliminates the need of external workarounds.

    The setup can thus be termed as a zero-configuration setup; you don’t have to re-configure the load-balancer, it will discover the changing backend services based on the information available from Consul.

    Problem Scenario 2

    So far we have achieved a method to “automatically” discover the backends, but isn’t the Load-Balancer itself a single-point-of-failure (SPOF)?

    It absolutely is, and you should always have redundant load-balancers instances (which is what any cloud-provided load-balancer has).

    As there is a certain cost associated with using “cloud-provided load-balancer”, we would create the load-balancers ourselves and not use cloud-provided load-balancers.

    To provide redundancy to the load-balancer instances, you should configure them using and AutoScalingGroup (AWS), VM Scale Sets (Azure), etc.

    The same redundancy strategy should also be used for the worker nodes, where the actual services reside, by using AutoScaling Groups/VMSS for the worker nodes.

    The Complete Picture

    Installation and Configuration

    Given that nowadays laptops are pretty powerful, you can easily create a test setup on your laptop using VirtualBox, VMware Workstation Player, VMware Workstation, etc.

    As a prerequisite, you will need a few virtual machines which can communicate with each other.

    NOTE: Create the VMs with networking set to bridged mode.

    The machines needed for the simple setup/demo would be:

    • 1 Linux VM to act as a server (srv1)
    • 1 Linux VM to act as a load-balancer (lb1)
    • 2 Linux VMs to act as worker machines (client1, client2)

    *** Each machine can be 2 CPU 1 GB memory each.

    The configuration files and scripts needed for the demo, which will help you set up the Nomad and Consul cluster are available here.

    Setup the Server

    Install the binaries on the server

    # install the Consul binary
    wget https://releases.hashicorp.com/consul/1.7.3/consul_1.7.3_linux_amd64.zip -O consul.zip
    unzip -o consul.zip
    sudo chown root:root consul
    sudo mv -fv consul /usr/sbin/
    
    # install the Nomad binary
    wget https://releases.hashicorp.com/nomad/0.11.3/nomad_0.11.3_linux_amd64.zip -O nomad.zip
    unzip -o nomad.zip
    sudo chown root:root nomad
    sudo mv -fv nomad /usr/sbin/
    
    # install Consul's service file
    wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/systemd/consul.service -O consul.service
    sudo chown root:root consul.service
    sudo mv -fv consul.service /etc/systemd/system/consul.service
    
    # install Nomad's service file
    wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/systemd/nomad.service -O nomad.service
    sudo chown root:root nomad.service

    Create the Server Configuration

    ### On the server machine ...
    
    ### Consul 
    sudo mkdir -p /etc/consul/
    sudo wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/config/consul/server.hcl -O /etc/consul/server.hcl
    
    ### Edit Consul's server.hcl file and setup the fields 'encrypt' and 'retry_join' as per your cluster.
    sudo vim /etc/consul/server.hcl
    
    ### Nomad
    sudo mkdir -p /etc/nomad/
    sudo wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/config/nomad/server.hcl -O /etc/nomad/server.hcl
    
    ### Edit Nomad's server.hcl file and setup the fields 'encrypt' and 'retry_join' as per your cluster.
    sudo vim /etc/nomad/server.hcl
    
    ### After you are done with the edits ...
    
    sudo systemctl daemon-reload
    sudo systemctl enable consul nomad
    sudo systemctl restart consul nomad
    sleep 10
    sudo consul members
    sudo nomad server members

    Setup the Load-Balancer

    Install the binaries on the server

    # install the Consul binary
    wget https://releases.hashicorp.com/consul/1.7.3/consul_1.7.3_linux_amd64.zip -O consul.zip
    unzip -o consul.zip
    sudo chown root:root consul
    sudo mv -fv consul /usr/sbin/
    
    # install the Nomad binary
    wget https://releases.hashicorp.com/nomad/0.11.3/nomad_0.11.3_linux_amd64.zip -O nomad.zip
    unzip -o nomad.zip
    sudo chown root:root nomad
    sudo mv -fv nomad /usr/sbin/
    
    # install Consul's service file
    wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/systemd/consul.service -O consul.service
    sudo chown root:root consul.service
    sudo mv -fv consul.service /etc/systemd/system/consul.service
    
    # install Nomad's service file
    wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/systemd/nomad.service -O nomad.service
    sudo chown root:root nomad.service
    sudo mv -fv nomad.service /etc/systemd/system/nomad.service

    Create the Load-Balancer Configuration

    ### On the load-balancer machine ...
    
    ### for Consul 
    sudo mkdir -p /etc/consul/
    sudo wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/config/consul/client.hcl -O /etc/consul/client.hcl
    
    ### Edit Consul's client.hcl file and setup the fields 'name', 'encrypt', 'retry_join' as per your cluster.
    sudo vim /etc/consul/client.hcl
    
    ### for Nomad ...
    sudo mkdir -p /etc/nomad/
    sudo wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/config/nomad/client.hcl -O /etc/nomad/client.hcl
    
    ### Edit Nomad's client.hcl file and setup the fields 'name', 'node_class', 'encrypt', 'retry_join' as per your cluster.
    sudo vim /etc/nomad/client.hcl
    
    ### After you are done with the edits ...
    
    sudo systemctl daemon-reload
    sudo systemctl enable consul nomad
    sudo systemctl restart consul nomad
    sleep 10
    sudo consul members
    sudo nomad server members
    sudo nomad node status -verbose

    Setup the Client (Worker) Machines

    Install the binaries on the server

    # install the Consul binary
    wget https://releases.hashicorp.com/consul/1.7.3/consul_1.7.3_linux_amd64.zip -O consul.zip
    unzip -o consul.zip
    sudo chown root:root consul
    sudo mv -fv consul /usr/sbin/
    
    # install the Nomad binary
    wget https://releases.hashicorp.com/nomad/0.11.3/nomad_0.11.3_linux_amd64.zip -O nomad.zip
    unzip -o nomad.zip
    sudo chown root:root nomad
    sudo mv -fv nomad /usr/sbin/
    
    # install Consul's service file
    wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/systemd/consul.service -O consul.service
    sudo chown root:root consul.service
    sudo mv -fv consul.service /etc/systemd/system/consul.service
    
    # install Nomad's service file
    wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/systemd/nomad.service -O nomad.service
    sudo chown root:root nomad.service
    sudo mv -fv nomad.service /etc/systemd/system/nomad.service

    Create the Worker Configuration

    ### On the client (worker) machine ...
    
    ### Consul 
    sudo mkdir -p /etc/consul/
    sudo wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/config/consul/client.hcl -O /etc/consul/client.hcl
    
    ### Edit Consul's client.hcl file and setup the fields 'name', 'encrypt', 'retry_join' as per your cluster.
    sudo vim /etc/consul/client.hcl
    
    ### Nomad
    sudo mkdir -p /etc/nomad/
    sudo wget https://raw.githubusercontent.com/shantanugadgil/hashistack/master/config/nomad/client.hcl -O /etc/nomad/client.hcl
    
    ### Edit Nomad's client.hcl file and setup the fields 'name', 'node_class', 'encrypt', 'retry_join' as per your cluster.
    sudo vim /etc/nomad/client.hcl
    
    ### After you are sure about your edits ...
    
    sudo systemctl daemon-reload
    sudo systemctl enable consul nomad
    sudo systemctl restart consul nomad
    sleep 10
    sudo consul members
    sudo nomad server members
    sudo nomad node status -verbose

    Test the Setup

    For the sake of simplicity, we shall assume the following IP addresses for the machines. (You can adapt the IPs as per your actual cluster configuration)

    srv1: 192.168.1.11

    lb1: 192.168.1.101

    client1: 192.168.201

    client1: 192.168.202

    You can access the web GUI for Consul and Nomad at the following URLs:

    Consul: http://192.168.1.11:8500

    Nomad: http://192.168.1.11:4646

    Login into the server and start the following watch command:

    # watch -n 5 "consul members; echo; nomad server members; echo; nomad node status -verbose; echo; nomad job status"

    Output:

    Node     Address             Status  Type    Build  Protocol  DC   Segment
    srv1     192.168.1.11:8301   alive   server  1.5.1  2         dc1  <all>
    client1  192.168.1.201:8301  alive   client  1.5.1  2         dc1  <default>
    client2  192.168.1.202:8301  alive   client  1.5.1  2         dc1  <default>
    lb1      192.168.1.101:8301  alive   client  1.5.1  2         dc1  <default>
    
    Name         Address       Port  Status  Leader  Protocol  Build  Datacenter  Region
    srv1.global  192.168.1.11  4648  alive   true    2         0.9.3  dc1         global
    
    ID           DC   Name     Class   Address        Version Drain  Eligibility  Status
    37daf354...  dc1  client2  worker  192.168.1.202  0.9.3  false  eligible     ready
    9bab72b1...  dc1  client1  worker  192.168.1.201  0.9.3  false  eligible     ready
    621f4411...  dc1  lb1      lb      192.168.1.101  0.9.3  false  eligible     ready

    Submit Jobs

    Login into the server (srv1) and download the sample jobs

    Run the load-balancer job

    # nomad run fabio_docker.nomad

    Output:

    ==> Monitoring evaluation "bb140467"
        Evaluation triggered by job "fabio_docker"
        Allocation "1a6a5587" created: node "621f4411", group "fabio"
        Evaluation status changed: "pending" -> "complete"
    ==> Evaluation "bb140467" finished with status "complete"

    Check the status of the load-balancer

    # nomad alloc status 1a6a5587

    Output:

    ID                  = 1a6a5587
    Eval ID             = bb140467
    Name                = fabio_docker.fabio[0]
    Node ID             = 621f4411
    Node Name           = lb1
    Job ID              = fabio_docker
    Job Version         = 0
    Client Status       = running
    Client Description  = Tasks are running
    Desired Status      = run
    Desired Description = <none>
    Created             = 1m9s ago
    Modified            = 1m3s ago
    
    Task "fabio" is "running"
    Task Resources
    CPU        Memory          Disk     Addresses
    5/200 MHz  10 MiB/128 MiB  300 MiB  lb: 192.168.1.101:9999
                                        ui: 192.168.1.101:9998
    
    Task Events:
    Started At     = 2019-06-13T19:15:17Z
    Finished At    = N/A
    Total Restarts = 0
    Last Restart   = N/A
    
    Recent Events:
    Time                  Type        Description
    2019-06-13T19:15:17Z  Started     Task started by client
    2019-06-13T19:15:12Z  Driver      Downloading image
    2019-06-13T19:15:12Z  Task Setup  Building Task Directory
    2019-06-13T19:15:12Z  Received    Task received by client

    Run the service ‘foo’

    # nomad run foo_docker.nomad

    Output:

    ==> Monitoring evaluation "a994bbf0"
        Evaluation triggered by job "foo_docker"
        Allocation "7794b538" created: node "9bab72b1", group "gowebhello"
        Allocation "eecceffc" modified: node "37daf354", group "gowebhello"
        Evaluation status changed: "pending" -> "complete"
    ==> Evaluation "a994bbf0" finished with status "complete"

    Check the status of service ‘foo’

    # nomad alloc status 7794b538

    Output:

    ID                  = 7794b538
    Eval ID             = a994bbf0
    Name                = foo_docker.gowebhello[1]
    Node ID             = 9bab72b1
    Node Name           = client1
    Job ID              = foo_docker
    Job Version         = 1
    Client Status       = running
    Client Description  = Tasks are running
    Desired Status      = run
    Desired Description = <none>
    Created             = 9s ago
    Modified            = 7s ago
    
    Task "gowebhello" is "running"
    Task Resources
    CPU        Memory           Disk     Addresses
    0/500 MHz  4.2 MiB/256 MiB  300 MiB  http: 192.168.1.201:23382
    
    Task Events:
    Started At     = 2019-06-13T19:27:17Z
    Finished At    = N/A
    Total Restarts = 0
    Last Restart   = N/A
    
    Recent Events:
    Time                  Type        Description
    2019-06-13T19:27:17Z  Started     Task started by client
    2019-06-13T19:27:16Z  Task Setup  Building Task Directory
    2019-06-13T19:27:15Z  Received    Task received by client

    Run the service ‘bar’

    # nomad run bar_docker.nomad

    Output:

    ==> Monitoring evaluation "075076bc"
        Evaluation triggered by job "bar_docker"
        Allocation "9f16354b" created: node "9bab72b1", group "gowebhello"
        Allocation "b86d8946" created: node "37daf354", group "gowebhello"
        Evaluation status changed: "pending" -> "complete"
    ==> Evaluation "075076bc" finished with status "complete"

    Check the status of service ‘bar’

    # nomad alloc status 9f16354b

    Output:

    ID                  = 9f16354b
    Eval ID             = 075076bc
    Name                = bar_docker.gowebhello[1]
    Node ID             = 9bab72b1
    Node Name           = client1
    Job ID              = bar_docker
    Job Version         = 0
    Client Status       = running
    Client Description  = Tasks are running
    Desired Status      = run
    Desired Description = <none>
    Created             = 4m28s ago
    Modified            = 4m16s ago
    
    Task "gowebhello" is "running"
    Task Resources
    CPU        Memory           Disk     Addresses
    0/500 MHz  6.2 MiB/256 MiB  300 MiB  http: 192.168.1.201:23646
    
    Task Events:
    Started At     = 2019-06-14T06:49:36Z
    Finished At    = N/A
    Total Restarts = 0
    Last Restart   = N/A
    
    Recent Events:
    Time                  Type        Description
    2019-06-14T06:49:36Z  Started     Task started by client
    2019-06-14T06:49:35Z  Task Setup  Building Task Directory
    2019-06-14T06:49:35Z  Received    Task received by client

    Check the Fabio Routes

    http://192.168.1.101:9998/routes

    Connect to the Services

    The services “foo” and “bar” are available at:

    http://192.168.1.101:9999/foo

    http://192.168.1.101:9999/bar

    Output:

    gowebhello root page
    
    https://github.com/udhos/gowebhello is a simple golang replacement for 'python -m SimpleHTTPServer'.
    Welcome!
    gowebhello version 0.7 runtime go1.12.5 os=linux arch=amd64
    Keepalive: true
    Application banner: Welcome to FOO
    ...
    ...

    Pressing F5 to refresh the browser should keep changing the backend service that you are eventually connected to.

    Conclusion

    This article should give you a fair idea about the common problems of a distributed application and how they can be solved.

    Remodeling an existing application deployment as it scales can be quite a challenge. Hopefully the sample/demo setup will help you to explore, design and optimize the deployment workflows of your application, be it On-Premise or any Cloud Environment.

  • Surviving & Thriving in the Age of Software Accelerations

    It has almost been a decade since Marc Andreessen made this prescient statement. Software is not only eating the world but doing so at an accelerating pace. There is no industry that hasn’t been challenged by technology startups with disruptive approaches.

    • Automakers are no longer just manufacturing companies: Tesla is disrupting the industry with their software approach to vehicle development and continuous over-the-air software delivery. Waymo’s autonomous cars have driven millions of miles and self-driving cars are a near-term reality. Uber is transforming the transportation industry into a service, potentially affecting the economics and incentives of almost 3–4% of the world GDP!
    • Social networks and media platforms had a significant and decisive impact on the US election results.
    • Banks and large financial institutions are being attacked by FinTech startups like WealthFront, Venmo, Affirm, Stripe, SoFi, etc. Bitcoin, Ethereum and the broader blockchain revolution can upend the core structure of banks and even sovereign currencies.
    • Traditional retail businesses are under tremendous pressure due to Amazon and other e-commerce vendors. Retail is now a customer ownership, recommendations, and optimization business rather than a brick and mortar one.

    Enterprises need to adopt a new approach to software development and digital innovation. At Velotio, we are helping customers to modernize and transform their business with all of the approaches and best practices listed below.

    Agility

    In this fast-changing world, your business needs to be agile and fast-moving. You need to ship software faster, at a regular cadence, with high quality and be able to scale it globally.

    Agile practices allow companies to rally diverse teams behind a defined process that helps to achieve inclusivity and drives productivity. Agile is about getting cross-functional teams to work in concert in planned short iterations with continuous learning and improvement.

    Generally, teams that work in an Agile methodology will:

    • Conduct regular stand-ups and Scrum/Kanban planning meetings with the optimal use of tools like Jira, PivotalTracker, Rally, etc.
    • Use pair programming and code review practices to ensure better code quality.
    • Use continuous integration and delivery tools like Jenkins or CircleCI.
    • Design processes for all aspects of product management, development, QA, DevOps and SRE.
    • Use Slack, Hipchat or Teams for communication between team members and geographically diverse teams. Integrate all tools with Slack to ensure that it becomes the central hub for notifications and engagement.

    Cloud-Native

    Businesses need software that is purpose-built for the cloud model. What does that mean? Software team sizes are now in the hundreds of thousands. The number of applications and software stacks is growing rapidly in most companies. All companies use various cloud providers, SaaS vendors and best-of-breed hosted or on-premise software. Essentially, software complexity has increased exponentially which required a “cloud-native” approach to manage effectively. Cloud Native Computing Foundation defines cloud native as a software stack which is:

    1. Containerized: Each part (applications, processes, etc) is packaged in its own container. This facilitates reproducibility, transparency, and resource isolation.
    2. Dynamically orchestrated: Containers are actively scheduled and managed to optimize resource utilization.
    3. Microservices oriented: Applications are segmented into micro services. This significantly increases the overall agility and maintainability of applications.

    You can deep-dive into cloud native with this blog by our CTO, Chirag Jog.

    Cloud native is disrupting the traditional enterprise software vendors. Software is getting decomposed into specialized best of breed components — much like the micro-services architecture. See the Cloud Native landscape below from CNCF.

    DevOps

    Process and toolsets need to change to enable faster development and deployment of software. Enterprises cannot compete without mature DevOps strategies. DevOps is essentially a set of practices, processes, culture, tooling, and automation that focuses on delivering software continuously with high quality.

    DevOps tool chains & process

    As you begin or expand your DevOps journey, a few things to keep in mind:

    • Customize to your needs: There is no single DevOps process or toolchain that suits all needs. Take into account your organization structure, team capabilities, current software process, opportunities for automation and goals while making decisions. For example, your infrastructure team may have automated deployments but the main source of your quality issues could be the lack of code reviews in your development team. So identify the critical pain points and sources of delay to address those first.
    • Automation: Automate everything that can be. The lesser the dependency on human intervention, the higher are the chances for success.
    • Culture: Align the incentives and goals with your development, ITOps, SecOps, SRE teams. Ensure that they collaborate effectively and ownership in the DevOps pipeline is well established.
    • Small wins: Pick one application or team and implement your DevOps strategy within it. That way you can focus your energies and refine your experiments before applying them broadly. Show success as measured by quantifiable parameters and use that to transform the rest of your teams.
    • Organizational dynamics & integrations: Adoption of new processes and tools will cause some disruptions and you may need to re-skill part of your team or hire externally. Ensure that compliance, SecOps & audit teams are aware of your DevOps journey and get their buy-in.
    • DevOps is a continuous journey: DevOps will never be done. Train your team to learn continuously and refine your DevOps practice to keep achieving your goal: delivering software reliably and quickly.

    Micro-services

    As the amount of software in an enterprise explodes, so does the complexity. The only way to manage this complexity is by splitting your software and teams into smaller manageable units. Micro-services adoption is primarily to manage this complexity.

    Development teams across the board are choosing micro services to develop new applications and break down legacy monoliths. Every micro-service can be deployed, upgraded, scaled, monitored and restarted independent of other services. Micro-services should ideally be managed by an automated system so that teams can easily update live applications without affecting end-users.

    There are companies with 100s of micro-services in production which is only possible with mature DevOps, cloud-native and agile practice adoption.

    Interestingly, serverless platforms like Google Functions and AWS Lambda are taking the concept of micro-services to the extreme by allowing each function to act like an independent piece of the application. You can read about my thoughts on serverless computing in this blog: Serverless Computing Predictions for 2017.

    Digital Transformation

    Digital transformation involves making strategic changes to business processes, competencies, and models to leverage digital technologies. It is a very broad term and every consulting vendor twists it in various ways. Let me give a couple of examples to drive home the point that digital transformation is about using technology to improve your business model, gain efficiencies or built a moat around your business:

    • GE has done an excellent job transforming themselves from a manufacturing company into an IoT/software company with Predix. GE builds airplane engines, medical equipment, oil & gas equipment and much more. Predix is an IoT platform that is being embedded into all of GE’s products. This enabled them to charge airlines on a per-mile basis by taking the ownership of maintenance and quality instead of charging on a one-time basis. This also gives them huge amounts of data that they can leverage to improve the business as a whole. So digital innovation has enabled a business model improvement leading to higher profits.
    • Car companies are exploring models where they can provide autonomous car fleets to cities where they will charge on a per-mile basis. This will convert them into a “service” & “data” company from a pure manufacturing one.
    • Insurance companies need to built digital capabilities to acquire and retain customers. They need to build data capabilities and provide ongoing value with services rather than interact with the customer just once a year.

    You would be better placed to compete in the market if you have automation and digital process in place so that you can build new products and pivot in an agile manner.

    Big Data / Data Science

    Businesses need to deal with increasing amounts of data due to IoT, social media, mobile and due to the adoption of software for various processes. And they need to use this data intelligently. Cloud platforms provide the services and solutions to accelerate your data science and machine learning strategies. AWS, Google Cloud & open-source libraries like Tensorflow, SciPy, Keras, etc. have a broad set of machine learning and big data services that can be leveraged. Companies need to build mature data processing pipelines to aggregate data from various sources and store it for quick and efficient access to various teams. Companies are leveraging these services and libraries to build solutions like:

    • Predictive analytics
    • Cognitive computing
    • Robotic Process Automation
    • Fraud detection
    • Customer churn and segmentation analysis
    • Recommendation engines
    • Forecasting
    • Anomaly detection

    Companies are creating data science teams to build long term capabilities and moats around their business by using their data smartly.

    Re-platforming & App Modernization

    Enterprises want to modernize their legacy, often monolithic apps as they migrate to the cloud. The move can be triggered due to hardware refresh cycles or license renewals or IT cost optimization or adoption of software-focused business models.

     Benefits of modernization to customers and businesses

    Intelligent Applications

    Software is getting more intelligent and to enable this, businesses need to integrate disparate datasets, distributed teams, and processes. This is best done on a scalable global cloud platform with agile processes. Big data and data science enables the creation of intelligent applications.

    How can smart applications help your business?

    • New intelligent systems of engagement: intelligent apps surface insights to users enabling the user to be more effective and efficient. For example, CRMs and marketing software is getting intelligent and multi-platform enabling sales and marketing reps to become more productive.
    • Personalisation: E-Commerce, social networks and now B2B software is getting personalized. In order to improve user experience and reduce churn, your applications should be personalized based on the user preferences and traits.
    • Drive efficiencies: IoT is an excellent example where the efficiency of machines can be improved with data and cloud software. Real-time insights can help to optimize processes or can be used for preventive maintenance.
    • Creation of new business models: Traditional and modern industries can use AI to build new business models. For example, what if insurance companies allow you to pay insurance premiums only for the miles driven?

    Security

    Security threats to governments, enterprises and data have never been greater. As business adopt cloud native, DevOps & micro-services practices, their security practices need to evolve.

    In our experience, these are few of the features of a mature cloud native security practice:

    • Automated: Systems are updated automatically with the latest fixes. Another approach is immutable infrastructure with the adoption of containers and serverless.
    • Proactive: Automated security processes tend to be proactive. For example, if a malware of vulnerability is found in one environment, automation can fix it in all environments. Mature DevOps & CI/CD processes ensure that fixes can be deployed in hours or days instead of weeks or months.
    • Cloud Platforms: Businesses have realized that the mega-clouds are way more secure than their own data centers can be. Many of these cloud platforms have audit, security and compliance services which should be leveraged.
    • Protecting credentials: Use AWS KMS, Hashicorp Vault or other solutions for protecting keys, passwords and authorizations.
    • Bug bounties: Either setup bug bounties internally or through sites like HackerOne. You want the good guys to work for you and this is an easy way to do that.

    Conclusion

    As you can see, all of these approaches and best practices are intertwined and need to be implemented in concert to gain the desired results. It is best to start with one project, one group or one application and build on early wins. Remember, that is is a process and you are looking for gradual improvements to achieve your final objectives.

    Please let us know your thoughts and experiences by adding comments to this blog or reaching out to @kalpakshah or RSI. We would love to help your business adopt these best practices and help to build great software together. Drop me a note at kalpak (at) velotio (dot) com.