Tag: AWS

  • How Healthcare Payers Can Leverage Speech Analytics to Generate Value

    Speech Analytics:

    The world has entered into an unprecedented age of information and technology, wherein developing a robust patient experience roadmap has become indispensable. Payers are being incentivized to develop industry-leading skills and strategies that are at par with the changing patient needs and expectations. In order to establish strong footprint in the market, Healthcare organizations must record and monitor patients’ interaction across all the breadth of channels. Equitably, organizations need to ascertain strict adherence to privacy laws to curb fraudulent attempts and practice efficiency. Right now, the focus should be largely emphasized on whether plan enrollees are getting meaningful and swift access to the services they are seeking.

    Key learnings from the whitepaper:
    • Speech Analytics Solution vs. Traditional Call Drivers Evaluating Method
    • Speech Analytics: A Booming Technology
    • How Organizations are Leveraging this Opportunity to Maximize Value
    • A Connotation to ‘WHY’ Makes a Big Difference
    • How R Systems’ Anagram Cuts the Mustard
  • Your Quintessential Guide to AWS Athena

    Introduction

    Serverless has become a new trend today and is here to stay for sure! Now when you think of wireless internet, you know that it still has some wires but you don’t need to worry about them as you don’t have to maintain them. Similarly, serverless has servers but you don’t have to keep worrying about handling or maintaining them. All you need to do is focus on your code and you’re good to go.

    It has some more benefits, such as:

    • Zero administration: You can deploy code without provisioning anything beforehand, or managing anything later. There is no concept of a fleet, an instance, or even an operating system.
    • Auto-scaling: It lets your service providers manage the scaling challenges. You don’t need to fire alerts or write scripts to scale up and down. It handles quick bursts of traffic and weekend lulls the same way.
    • Pay-per-use: The function-as-a-service compute and managed services are charged based on usage rather than pre-provisioned capacity. You can have complete resource utilization without paying a cent for idle time. The results? 90% cost-savings over a cloud VM, and the satisfaction of knowing that you never pay for resources you don’t use.

    What is AWS Athena?

    AWS Athena is a similar serverless service. It is more of an interactive query service than a code deployment service.

    Using Athena one can directly query the data stored in S3 buckets and using standard ANSI SQL.

    As mentioned earlier, it works on the principle of serverless, that is, there is no infrastructure to manage, and you pay only for the queries that you run.

    Athena is easy to use. You can simply point to your data in Amazon S3, define the schema, and start querying using standard SQL. Most results are delivered within seconds. With Athena, there’s no need for complex ETL jobs to prepare your data for analysis. This makes it easy for anyone with SQL skills to quickly analyze large-scale datasets.

    It is based on Facebook’s PrestoDB and can be used to query structured and semi-structured data.

    Some Exciting Features of Athena are:

    • Serverless. No ETL – Not having to set up and manage any servers or data warehouses.
    • Only pay for the data that is scanned.
    • You can ensure better performance by compressing, partitioning, and converting your data into columnar formats.
    • Can also handle complex analysis, including large joins, window functions, and arrays.
    • Athena automatically executes queries in parallel.
    • Need to provide a path to the S3 folder and when new files added automatically reflects in the table.
    • Supports –
    • Support CSV, Json, Parquet, ORC, Avro data formats
    • Complex Joins and datatypes
    • View creation
    • Does not Support –
    • User-defined functions and stored procedures
    • Hive or Presto transactions
    • LZO (Snappy is supported)

    Pricing of Athena

    • AWS Athena is priced $5 for each TB of data scanned.
    • Queries are rounded up to the nearest MB, with a 10 MB minimum.
    • Users pay for stored data at regular S3 rates.
    • Amazon advises users to use compressed data files, have data in columnar formats, and routinely delete old results sets to keep charges low. Partitioning data in tables can speed up queries and reduce query bills.

    Athena vs. Redshift Spectrum

    • AWS also has Redshift as data warehouse service, and we can use redshift spectrum to query S3 data, so then why should you use Athena?

    Advantages of Redshift Spectrum:

    • Allows creation of Redshift tables. You’re able to join Redshift tables with Redshift spectrum tables efficiently.

    If you do not need those things then you should consider Athena as well Athena differences from Redshift spectrum:

    • Billing. This is a major difference and depending on your use case you may find one much cheaper than the other Performance.
    • Athena slightly faster. SQL syntax and features.
    • Athena is derived from presto and is a bit different to Redshift which has its roots in Postgres.
    • It’s easy enough to connect to Athena using API, JDBC or ODBC but many more products offer “standard out of the box” connection to Redshift.
    • Athena has GIS functions and lambdas.

    So in nutshell, if you have existing instances of redshift you would probably go for Redshift Spectrum, if not then you can opt for Athena for querying the data. In some cases, you can use both in tandem.

    Example

    Here is a sample query to create a sample database having 3 tables basic_details, contact_details and bill_details, Uploaded csv file to s3:

    Basic_details:

    const outside = {weather: FRIGHTFUL}
    const inside = {fire: DELIGHTFUL}
    const go = places => places.some(p=>p>outside.weather)))
    
    const snow = () => (outside.weather < inside.fire && !go(places)) {
      let it = snow()
    }
    
    let it = snow()
    
    const FRIGHTFUL = 1
    const DELIGHTFUL = 1337

    Bill_details:

    CREATE EXTERNAL TABLE `bil_details`(
      `id` int COMMENT '', 
      `amount_paid` string COMMENT '', 
      `amount_due` string COMMENT '')
    ROW FORMAT DELIMITED 
      FIELDS TERMINATED BY ',' 
    STORED AS INPUTFORMAT 
      'org.apache.hadoop.mapred.TextInputFormat' 
    OUTPUTFORMAT 
      'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
    LOCATION
      's3://athena-blog/bill-details'
    TBLPROPERTIES (
      'has_encrypted_data'='false', 
      'skip.header.line.count'='1')

    Contact_details:

    CREATE EXTERNAL TABLE `contact_details`(
      `id` int COMMENT '', 
      `street` string COMMENT '', 
      `city` string COMMENT '', 
      `state` string COMMENT '', 
      `country` string COMMENT '', 
      `zip` string COMMENT '')
    ROW FORMAT DELIMITED 
      FIELDS TERMINATED BY ',' 
    STORED AS INPUTFORMAT 
      'org.apache.hadoop.mapred.TextInputFormat' 
    OUTPUTFORMAT 
      'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
    LOCATION
      's3://athena-blog/contact-details'
    TBLPROPERTIES (
      'has_encrypted_data'='false', 
      'skip.header.line.count'='1')

    Sample Query for – FirstNames of People from Minnesota with amount_due > $100

    WITH basic AS 
        (SELECT id,
             first_name
        FROM basic_details
        WHERE lower(gender) = 'male' ), bill AS 
        (SELECT id
        FROM bil_details
        WHERE CAST(amount_due AS INTEGER) > 100 ), contact AS 
        (SELECT contact_details.id
        FROM contact_details
        JOIN bill
            ON contact_details.id = bill.id
        WHERE state= 'Minnesota' )
    SELECT basic.first_name
    FROM basic
    JOIN contact
        ON basic.id = contact.id 

    Output:

    Some Other Sample Queries:

    1. Searching for Values in JSON

    WITH dataset AS (
      SELECT * FROM (VALUES
        (JSON '{"name": "Bob Smith", "org": "legal", "projects": ["project1"]}'),
        (JSON '{"name": "Susan Smith", "org": "engineering", "projects": ["project1", "project2", "project3"]}'),
        (JSON '{"name": "Jane Smith", "org": "finance", "projects": ["project1", "project2"]}')
      ) AS t (users)
    )
    SELECT json_extract_scalar(users, '$.name') AS user
    FROM dataset
    WHERE json_array_contains(json_extract(users, '$.projects'), 'project2')

    Output:

    2. Extracting properties

    WITH dataset AS (
      SELECT '{"name": "Susan Smith",
               "org": "engineering",
               "projects": [{"name":"project1", "completed":false},
               {"name":"project2", "completed":true}]}'
        AS blob
    )
    SELECT
      json_extract(blob, '$.name') AS name,
      json_extract(blob, '$.projects') AS projects
    FROM dataset

    Output:

    3. Converting JSON to Athena Data Types

    WITH dataset AS (
      SELECT
        CAST(JSON '"HELLO ATHENA"' AS VARCHAR) AS hello_msg,
        CAST(JSON '12345' AS INTEGER) AS some_int,
        CAST(JSON '{"a":1,"b":2}' AS MAP(VARCHAR, INTEGER)) AS some_map
    )
    SELECT * FROM dataset

    Output:

    Conclusion

    Hence, we can easily say that AWS Athena gives us an efficient way to query our raw data present in different formats in S3 object storage, without spawning a dedicated infrastructure and at minimal cost.

    Need help with setting up AWS Athena for your organization? Connect with the experts at Velotio!

  • Acquiring Temporary AWS Credentials with Browser Navigated Authentication

    In one of my previous blog posts (Hacking your way around AWS IAM Roles), we demonstrated how users can access AWS resources without having to store AWS credentials on disk. This was achieved by setting up an OpenVPN server and client-side route that gets automatically pushed when the user is connected to the VPN. To this date, I really find this as a complaint-friendly solution without forcing users to do any manual configuration on their system. It also makes sense to have access to AWS resources as long as they are connected on VPN. One of the downsides to this method is maintaining an OpenVPN server, keeping it secure and having it running in a highly available (HA) state. If the OpenVPN server is compromised, our credentials are at stake. Secondly, all the users connected on VPN get the same level of access.

    In this blog post, we present to you a CLI utility written in Rust that writes temporary AWS credentials to a user profile (~/.aws/credentials file) using web browser navigated Google authentication. This utility is inspired by gimme-aws-creds (written in python for Okta authenticated AWS farm) and heroku cli (written in nodejs and utilizes oclif framework). We will refer to our utility as aws-authcreds throughout this post.

    “If you have an apple and I have an apple and we exchange these apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.”

    – George Bernard Shaw

    What does this CLI utility (auth-awscreds) do?

    When the user fires a command (auth-awscreds) on the terminal, our program reads utility configuration from file .auth-awscreds located in the user home directory. If this file is not present, the utility prompts for setting the configuration for the first time. Utility configuration file is INI format. Program then opens a default web browser and navigates to the URL read from the configuration file. At this point, the utility waits for the browser URL to navigate and authorize. Web UI then navigates to Google Authentication. If authentication is successful, a callback is shared with CLI utility along with temporary AWS credentials, which is then written to ~/.aws/credentials file.

    Block Diagram

    Tech Stack Used

    As stated earlier, we wrote this utility in Rust. One of the reasons for choosing Rust is because we wanted a statically typed binary (ELF) file (executed independent of interpreter), which ships as it is when compiled. Unlike programs written in Python or Node.js, one needs a language interpreter and has supporting libraries installed for your program. The golang would have also suffice our purpose, but I prefer Rust over golang.

    Software Stack:

    • Rust (for CLI utility)
    • Actix Web – HTTP Server
    • Node.js, Express, ReactJS, serverless-http, aws-sdk, AWS Amplify, axios
    • Terraform and serverless framework

    Infrastructure Stack:

    • AWS Cognito (User Pool and Federated Identities)
    • AWS API Gateway (HTTP API)
    • AWS Lambda
    • AWS S3 Bucket (React App)
    • AWS CloudFront (For Serving React App)
    • AWS ACM (SSL Certificate)

    Recipe

    Architecture Diagram

    CLI Utility: auth-awscreds

    Our goal is, when the auth-awscreds command is fired, we first check if the user’s home directory ~/.aws/credentials file exists. If not, we create a ~/.aws directory. This is the default AWS credentials directory, where usually AWS SDK looks for credentials (unless exclusively specified by env var AWS_SHARED_CREDENTIALS_FILE). The next step would be to check if a ~/.auth-awscredds file exists. If this file doesn’t exist, we create a prompt user with two inputs: 

    1. AWS credentials profile name (used by SDK, default is preferred) 

    2. Application domain URL (Our backend app domain is used for authentication)

    let app_profile_file = format!("{}/.auth-awscreds",&user_home_dir);
     
       let config_exist : bool = Path::new(&app_profile_file).exists();
     
       let mut profile_name = String::new();
       let mut app_domain = String::new();
     
       if !config_exist {
           //ask the series of questions
           print!("Which profile to write AWS Credentials [default] : ");
           io::stdout().flush().unwrap();
           io::stdin()
               .read_line(&mut profile_name)
               .expect("Failed to read line");
     
           print!("App Domain : ");
           io::stdout().flush().unwrap();
          
           io::stdin()
               .read_line(&mut app_domain)
               .expect("Failed to read line");
          
           profile_name=String::from(profile_name.trim());
           app_domain=String::from(app_domain.trim());
          
           config_profile(&profile_name,&app_domain);
          
       }
       else {
           (profile_name,app_domain) = read_profile();
       }

    These two properties are written in ~/.auth-awscreds under the default section. Followed by this, our utility generates RSA asymmetric 1024 bit public and private key. Both the keypair are converted to base64.

    pub fn genkeypairs() -> (String,String) {
       let rsa = Rsa::generate(1024).unwrap();
     
       let private_key: Vec<u8> = rsa.private_key_to_pem_passphrase(Cipher::aes_128_cbc(),"Sagar Barai".as_bytes()).unwrap();
       let public_key: Vec<u8> = rsa.public_key_to_pem().unwrap();
     
       (base64::encode(private_key) , base64::encode(public_key))
    }

    We then launch a browser window and navigate to the specified app domain URL. At this stage, our utility starts a temporary web server with the help of the Actix Web framework and listens on 63442 port of localhost.

    println!("Opening web ui for authentication...!");
       open::that(&app_domain).unwrap();
     
       HttpServer::new(move || {
           //let stopper = tx.clone();
           let cors = Cors::permissive();
           App::new()
           .wrap(cors)
           //.app_data(stopper)
           .app_data(crypto_data.clone())
           .service(get_public_key)
           .service(set_aws_creds)
       })
       .bind(("127.0.0.1",63442))?
       .run()
       .await

    Localhost web server has two end points.

    1. GET Endpoint (/publickey): This endpoint is called by our React app after authentication and returns the public key created during the initialization process. Since the web server hosted by the Rust application is insecure (non ssl),  when actual AWS credentials are received, they should be posted as an encrypted string with the help of this public key.

    #[get("/publickey")]
    pub async fn get_public_key(data: web::Data<AppData>) -> impl Responder {
       let public_key = &data.public_key;
      
       web::Json(HTTPResponseData{
           status: 200,
           msg: String::from("Ok"),
           success: true,
           data: String::from(public_key)
       })
    }

    2. POST Endpoint (/setcreds): This endpoint is called when the react app has successfully retrieved credentials from API Gateway. Credentials are decrypted by private key and then written to ~/.aws/credentials file defined by profile name in utility configuration. 

    let encrypted_data = payload["data"].as_array().unwrap();
       let username = payload["username"].as_str().unwrap();
     
       let mut decypted_payload = vec![];
     
       for str in encrypted_data.iter() {
           //println!("{}",str.to_string());
           let s = str.as_str().unwrap();
           let decrypted = decrypt_data(&private_key, &s.to_string());
           decypted_payload.extend_from_slice(&decrypted);
       }
     
       let credentials : serde_json::Value = serde_json::from_str(&String::from_utf8(decypted_payload).unwrap()).unwrap();
     
       let aws_creds = AWSCreds{
           profile_name: String::from(profile_name),
           aws_access_key_id: String::from(credentials["AccessKeyId"].as_str().unwrap()),
           aws_secret_access_key: String::from(credentials["SecretAccessKey"].as_str().unwrap()),
           aws_session_token: String::from(credentials["SessionToken"].as_str().unwrap())
       };
     
       println!("Authenticated as {}",username);
       println!("Updating AWS Credentials File...!");
     
       configcreds(&aws_creds);

    One of the interesting parts of this code is the decryption process, which iterates through an array of strings and is joined by method decypted_payload.extend_from_slice(&decrypted);. RSA 1024 is 128-byte encryption, and we used OAEP padding, which uses 42 bytes for padding and the rest for encrypted data. Thus, 86 bytes can be encrypted at max. So, when credentials are received they are an array of 128 bytes long base64 encoded data. One has to decode the bas64 string to a data buffer and then decrypt data piece by piece.

    To generate a statically typed binary file, run: cargo build –release

    AWS Cognito and Google Authentication

    This guide does not cover how to set up Cognito and integration with Google Authentication. You can refer to our old post for a detailed guide on setting up authentication and authorization. (Refer to the sections Setup Authentication and Setup Authorization).

    React App:

    The React app is launched via our Rust CLI utility. This application is served right from the S3 bucket via CloudFront. When our React app is loaded, it checks if the current session is authenticated. If not, then with the help of the AWS Amplify framework, our app is redirected to Cognito-hosted UI authentication, which in turn auto redirects to Google Login page.

    render(){
       return (
         <div className="centerdiv">
           {
             this.state.appInitialised ?
               this.state.user === null ? Auth.federatedSignIn({provider: 'Google'}) :
               <Aux>
                 {this.state.pageContent}
               </Aux>
             :
             <Loader/>
           }
         </div>
       )
     }

    Once the session is authenticated, we set the react state variables and then retrieve the public key from the actix web server (Rust CLI App: auth-awscreds) by calling /publickey GET method. Followed by this, an Ajax POST request (/auth-creds) is made via axios library to API Gateway. The payload contains a public key, and JWT token for authentication. Expected response from API gateway is encrypted AWS temporary credentials which is then proxied to our CLI application.

    To ease this deployment, we have written a terraform code (available in the repository) that takes care of creating an S3 bucket, CloudFront distribution, ACM, React build, and deploying it to the S3 bucket. Navigate to vars.tf file and change the respective default variables). The Terraform script will fail at first launch since the ACM needs a DNS record validation. You can create a CNAME record for DNS validation and re-run the Terraform script to continue deployment. The React app expects few environment variables. Below is the sample .env file; update the respective values for your environment.

    REACT_APP_IDENTITY_POOL_ID=
    REACT_APP_COGNITO_REGION=
    REACT_APP_COGNITO_USER_POOL_ID=
    REACT_APP_COGNTIO_DOMAIN_NAME=
    REACT_APP_DOMAIN_NAME=
    REACT_APP_CLIENT_ID=
    REACT_APP_CLI_APP_URL=
    REACT_APP_API_APP_URL=

    Finally, deploy the React app using below sample commands.

    $ terraform plan -out plan     #creates plan for revision
    $ terraform apply plan         #apply plan and deploy

    API Gateway HTTP API and Lambda Function

    When a request is first intercepted by API Gateway, it validates the JWT token on its own. API Gateway natively supports Cognito integration. Thus, any payload with invalid authorization header is rejected at API Gateway itself. This eases our authentication process and validates the identity. If the request is valid, it is then received by our Lambda function. Our Lambda function is written in Node.js and wrapped by serverless-http framework around express app. The Express app has only one endpoint.

    /auth-creds (POST): once the request is received, it retrieves the ID from Cognito and logs it to stdout for audit purpose.

    let identityParams = {
               IdentityPoolId: process.env.IDENTITY_POOL_ID,
               Logins: {}
           };
      
           identityParams.Logins[`${process.env.COGNITOIDP}`] = req.headers.authorization;
      
           const ci = new CognitoIdentity({region : process.env.AWSREGION});
      
           let idpResponse = await ci.getId(identityParams).promise();
      
           console.log("Auth Creds Request Received from ",JSON.stringify(idpResponse));

    The app then extracts the base64 encoded public key. Followed by this, an STS api call (Security Token Service) is made and temporary credentials are derived. These credentials are then encrypted with a public key in chunks of 86 bytes.

    const pemPublicKey = Buffer.from(public_key,'base64').toString();
     
           const authdata=await sts.assumeRole({
               ExternalId: process.env.STS_EXTERNAL_ID,
               RoleArn: process.env.IAM_ROLE_ARN,
               RoleSessionName: "DemoAWSAuthSession"
           }).promise();
     
           const creds = JSON.stringify(authdata.Credentials);
           const splitData = creds.match(/.{1,86}/g);
          
           const encryptedData = splitData.map(d=>{
               return publicEncrypt(pemPublicKey,Buffer.from(d)).toString('base64');
           });

    Here, the assumeRole calls the IAM role, which has appropriate policy documents attached. For the sake of this demo, we attached an Administrator role. However, one should consider a hardening policy document and avoid attaching Administrator policy directly to the role.

    resources:
     Resources:
       AuthCredsAssumeRole:
         Type: AWS::IAM::Role
         Properties:
           AssumeRolePolicyDocument:
             Version: "2012-10-17"
             Statement:
               -
                 Effect: Allow
                 Principal:
                   AWS: !GetAtt IamRoleLambdaExecution.Arn
                 Action: sts:AssumeRole
                 Condition:
                   StringEquals:
                     sts:ExternalId: ${env:STS_EXTERNAL_ID}
           RoleName: auth-awscreds-api
           ManagedPolicyArns:
             - arn:aws:iam::aws:policy/AdministratorAccess

    Finally, the response is sent to the React app. 

    We have used the Serverless framework to deploy the API. The Serverless framework creates API gateway, lambda function, Lambda Layer, and IAM role, and takes care of code deployment to lambda function.

    To deploy this application, follow the below steps.

    1. cd layer/nodejs && npm install && cd ../.. && npm install

    2. npm install -g serverless (on mac you can skip this step and use the npx serverless command instead) 

    3. Create .env file and below environment variables to file and set the respective values.

    AWSREGION=ap-south-1
    COGNITO_USER_POOL_ID=
    IDENTITY_POOL_ID=
    COGNITOIDP=
    APP_CLIENT_ID=
    STS_EXTERNAL_ID=
    IAM_ROLE_ARN=
    DEPLOYMENT_BUCKET=
    APP_DOMAIN=

    4. serverless deploy or npx serverless deploy

    Entire codebase for CLI APP, React App, and Backend API  is available on the GitHub repository.

    Testing:

    Assuming that you have compiled binary (auth-awscreds) available in your local machine and for the sake of testing you have installed `aws-cli`, you can then run /path/to/your/auth-awscreds. 

    App Testing

    If you selected your AWS profile name as “demo-awscreds,” you can then export the AWS_PROFILE environment variable. If you prefer a “default” profile, you don’t need to export the environment variable as AWS SDK selects a “default” profile on its own.

    [demo-awscreds]
    aws_access_key_id=ASIAUAOF2CHC77SJUPZU
    aws_secret_access_key=r21J4vwPDnDYWiwdyJe3ET+yhyzFEj7Wi1XxdIaq
    aws_session_token=FwoGZXIvYXdzEIj//////////wEaDHVLdvxSNEqaQZPPQyK2AeuaSlfAGtgaV1q2aKBCvK9c8GCJqcRLlNrixCAFga9n+9Vsh/5AWV2fmea6HwWGqGYU9uUr3mqTSFfh+6/9VQH3RTTwfWEnQONuZ6+E7KT9vYxPockyIZku2hjAUtx9dSyBvOHpIn2muMFmizZH/8EvcZFuzxFrbcy0LyLFHt2HI/gy9k6bLCMbcG9w7Ej2l8vfF3dQ6y1peVOQ5Q8dDMahhS+CMm1q/T1TdNeoon7mgqKGruO4KJrKiZoGMi1JZvXeEIVGiGAW0ro0/Vlp8DY1MaL7Af8BlWI1ZuJJwDJXbEi2Y7rHme5JjbA=

    To validate, you can then run “aws s3 ls.” You should see S3 buckets listed from your AWS account. Note that these credentials are only valid for 60 minutes. This means you will have to re-run the command and acquire a new pair of AWS credentials. Of course, you can configure your IAM role to extend expiry for an “assume role.” 

    auth-awscreds in Action:

    Summary

    Currently, “auth-awscreds” is at its early development stage. This post demonstrates how AWS credentials can be acquired temporarily without having to worry about key rotation. One of the features that we are currently working on is RBAC, with the help of AWS Cognito. Since this tool currently doesn’t support any command line argument, we can’t reconfigure utility configuration. You can manually edit or delete the utility configuration file, which triggers a prompt for configuring during the next run. We also want to add multiple profiles so that multiple AWS accounts can be used.

  • Building Your First AWS Serverless Application? Here’s Everything You Need to Know

    A serverless architecture is a way to implement and run applications and services or micro-services without need to manage infrastructure. Your application still runs on servers, but all the servers management is done by AWS. Now we don’t need to provision, scale or maintain servers to run our applications, databases and storage systems. Services which are developed by developers who don’t let developers build application from scratch.

    Why Serverless

    1. More focus on development rather than managing servers.
    2. Cost Effective.
    3. Application which scales automatically.
    4. Quick application setup.

    Services For ServerLess

    For implementing serverless architecture there are multiple services which are provided by cloud partners though we will be exploring most of the services from AWS. Following are the services which we can use depending on the application requirement.

    1. Lambda: It is used to write business logic / schedulers / functions.
    2. S3: It is mostly used for storing objects but it also gives the privilege to host WebApps. You can host a static website on S3.
    3. API Gateway: It is used for creating, publishing, maintaining, monitoring and securing REST and WebSocket APIs at any scale.
    4. Cognito: It provides authentication, authorization & user management for your web and mobile apps. Your users can sign in directly sign in with a username and password or through third parties such as Facebook, Amazon or Google.
    5. DynamoDB: It is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.

    Three-tier Serverless Architecture

    So, let’s take a use case in which you want to develop a three tier serverless application. The three tier architecture is a popular pattern for user facing applications, The tiers that comprise the architecture include the presentation tier, the logic tier and the data tier. The presentation tier represents the component that users directly interact with web page / mobile app UI. The logic tier contains the code required to translate user action at the presentation tier to the functionality that drives the application’s behaviour. The data tier consists of your storage media (databases, file systems, object stores) that holds the data relevant to the application. Figure shows the simple three-tier application.

     Figure: Simple Three-Tier Architectural Pattern

    Presentation Tier

    The presentation tier of the three tier represents the View part of the application. Here you can use S3 to host static website. On a static website, individual web pages include static content and they also contain client side scripting.

    The following is a quick procedure to configure an Amazon S3 bucket for static website hosting in the S3 console.

    To configure an S3 bucket for static website hosting

    1. Log in to the AWS Management Console and open the S3 console at

    2. In the Bucket name list, choose the name of the bucket that you want to enable static website hosting for.

    3. Choose Properties.

    4. Choose Static Website Hosting

    Once you enable your bucket for static website hosting, browsers can access all of your content through the Amazon S3 website endpoint for your bucket.

    5. Choose Use this bucket to host.

    A. For Index Document, type the name of your index document, which is typically named index.html. When you configure a S3 bucket for website hosting, you must specify an index document, which will be returned by S3 when requests are made to the root domain or any of the subfolders.

    B. (Optional) For 4XX errors, you can optionally provide your own custom error document that provides additional guidance for your users. Type the name of the file that contains the custom error document. If an error occurs, S3 returns an error document.

    C. (Optional) If you want to give advanced redirection rules, In the edit redirection rule text box, you have to XML to describe the rule.
    E.g.

    <RoutingRules>
        <RoutingRule>
            <Condition>
                <HttpErrorCodeReturnedEquals>403</HttpErrorCodeReturnedEquals>
            </Condition>
            <Redirect>
                <HostName>mywebsite.com</HostName>
                <ReplaceKeyPrefixWith>notfound/</ReplaceKeyPrefixWith>
            </Redirect>
        </RoutingRule>
    </RoutingRules>

    6. Choose Save

    7. Add a bucket policy to the website bucket that grants access to the object in the S3 bucket for everyone. You must make the objects that you want to serve publicly readable, when you configure a S3 bucket as a website. To do so, you write a bucket policy that grants everyone S3:GetObject permission. The following bucket policy grants everyone access to the objects in the example-bucket bucket.

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "PublicReadGetObject",
                "Effect": "Allow",
                "Principal": "*",
                "Action": [
                    "s3:GetObject"
                ],
                "Resource": [
                    "arn:aws:s3:::example-bucket/*"
                ]
            }
        ]
    }

    Note: If you choose Disable Website Hosting, S3 removes the website configuration from the bucket, so that the bucket no longer accessible from the website endpoint, but the bucket is still available at the REST endpoint.

    Logic Tier

    The logic tier represents the brains of the application. Here the two core services for serverless will be used i.e. API Gateway and Lambda to form your logic tier can be so revolutionary. The feature of the 2 services allow you to build a serverless production application which is highly scalable, available and secure. Your application could use number of servers, however by leveraging this pattern you do not have to manage a single one. In addition, by using these managed services together you get following benefits:

    1. No operating system to choose, secure or manage.
    2. No servers to right size, monitor.
    3. No risk to your cost by over-provisioning.
    4. No Risk to your performance by under-provisioning.

    API Gateway

    API Gateway is a fully managed service for defining, deploying and maintaining APIs. Anyone can integrate with the APIs using standard HTTPS requests. However, it has specific features and qualities that result it being an edge for your logic tier.

    Integration with Lambda

    API Gateway gives your application a simple way to leverage the innovation of AWS lambda directly (HTTPS Requests). API Gateway forms the bridge that connects your presentation tier and the functions you write in Lambda. After defining the client / server relationship using your API, the contents of the client’s HTTPS requests are passed to Lambda function for execution. The content include request metadata, request headers and the request body.

    API Performance Across the Globe

    Each deployment of API Gateway includes an Amazon CloudFront distribution under the covers. Amazon CloudFront is a content delivery web service that used Amazon’s global network of edge locations as connection points for clients integrating with API. This helps drive down the total response time latency of your API. Through its use of multiple edge locations across the world, Amazon CloudFront also provides you capabilities to combat distributed denial of service (DDoS) attack scenarios.

    You can improve the performance of specific API requests by using API Gateway to store responses in an optional in-memory cache. This not only provides performance benefits for repeated API requests, but is also reduces backend executions, which can reduce overall cost.

    Let’s dive into each step

    1. Create Lambda Function
    Login to Aws Console and head over to Lambda Service and Click on “Create A Function”

    A. Choose first option “Author from scratch”
    B. Enter Function Name
    C. Select Runtime e.g. Python 2.7
    D. Click on “Create Function”

    As your function is ready, you can see your basic function will get generated in language you choose to write.
    E.g.

    import json
    
    def lambda_handler(event, context):
        # TODO implement
        return {
            'statusCode': 200,
            'body': json.dumps('Hello from Lambda!')
        }

    2. Testing Lambda Function

    Click on “Test” button at the top right corner where we need to configure test event. As we are not sending any events, just give event a name, for example, “Hello World” template as it is and “Create” it.

    Now, when you hit the “Test” button again, it runs through testing the function we created earlier and returns the configured value.

    Create & Configure API Gateway connecting to Lambda

    We are done with creating lambda functions but how to invoke function from outside world ? We need endpoint, right ?

    Go to API Gateway & click on “Get Started” and agree on creating an Example API but we will not use that API we will create “New API”. Give it a name by keeping “Endpoint Type” regional for now.

    Create the API and you will go on the page “resources” page of the created API Gateway. Go through the following steps:

    A. Click on the “Actions”, then click on “Create Method”. Select Get method for our function. Then, “Tick Mark” on the right side of “GET” to set it up.
    B. Choose “Lambda Function” as integration type.
    C. Choose the region where we created earlier.
    D. Write the name of Lambda Function we created
    E. Save the method where it will ask you for confirmation of “Add Permission to Lambda Function”. Agree to that & that is done.
    F. Now, we can test our setup. Click on “Test” to run API. It should give the response text we had on the lambda test screen.

    Now, to get endpoint. We need to deploy the API. On the Actions dropdown, click on Deploy API under API Actions. Fill in the details of deployment and hit Deploy.

    After that, we will get our HTTPS endpoint.

    On the above screen you can see the things like cache settings, throttling, logging which can be configured. Save the changes and browse the invoke URL from which we will get the response which was earlier getting from Lambda. So, here is our logic tier of serverless application is to be done.

    Data Tier

    By using Lambda as your logic tier, you have a number of data storage options for your data tier. These options fall into broad categories: Amazon VPC hosted data stores and IAM-enabled data stores. Lambda has the ability to integrate with both securely.

    Amazon VPC Hosted Data Stores

    1. Amazon RDS
    2. Amazon ElasticCache
    3. Amazon Redshift

    IAM-Enabled Data Stores

    1. Amazon DynamoDB
    2. Amazon S3
    3. Amazon ElasticSearch Service

    You can use any of those for storage purpose, But DynamoDB is one of best suited for ServerLess application.

    Why DynamoDB ?

    1. It is NoSQL DB, also that is fully managed by AWS.
    2. It provides fast & prectable performance with seamless scalability.
    3. DynamoDB lets you offload the administrative burden of operating and scaling a distributed system.
    4. It offers encryption at rest, which eliminates the operational burden and complexity involved in protecting sensitive data.
    5. You can scale up/down your tables throughput capacity without downtime/performance degradation.
    6. It provides On-Demand backups as well as enable point in time recovery for your DynamoDB tables.
    7. DynamoDB allows you to delete expired items from table automatically to help you reduce storage usage and the cost of storing data that is no longer relevant.

    Following is the sample script for DynamoDB with Python which you can use with lambda.

    from __future__ import print_function # Python 2/3 compatibility
    import boto3
    import json
    import decimal
    from boto3.dynamodb.conditions import Key, Attr
    from botocore.exceptions import ClientError
    
    # Helper class to convert a DynamoDB item to JSON.
    class DecimalEncoder(json.JSONEncoder):
        def default(self, o):
            if isinstance(o, decimal.Decimal):
                if o % 1 > 0:
                    return float(o)
                else:
                    return int(o)
            return super(DecimalEncoder, self).default(o)
    
    dynamodb = boto3.resource("dynamodb", region_name='us-west-2', endpoint_url="http://localhost:8000")
    
    table = dynamodb.Table('Movies')
    
    title = "The Big New Movie"
    year = 2015
    
    try:
        response = table.get_item(
            Key={
                'year': year,
                'title': title
            }
        )
    except ClientError as e:
        print(e.response['Error']['Message'])
    else:
        item = response['Item']
        print("GetItem succeeded:")
        print(json.dumps(item, indent=4, cls=DecimalEncoder))

    Note: To run the above script successfully you need to attach policy to your role for lambda. So in this case you need to attach policy for DynamoDB operations to take place & for CloudWatch if required to store your logs. Following is the policy which you can attach to your role for DB executions.

    {
    	"Version": "2012-10-17",
    	"Statement": [{
    			"Effect": "Allow",
    			"Action": [
    				"dynamodb:BatchGetItem",
    				"dynamodb:GetItem",
    				"dynamodb:Query",
    				"dynamodb:Scan",
    				"dynamodb:BatchWriteItem",
    				"dynamodb:PutItem",
    				"dynamodb:UpdateItem"
    			],
    			"Resource": "arn:aws:dynamodb:eu-west-1:123456789012:table/SampleTable"
    		},
    		{
    			"Effect": "Allow",
    			"Action": [
    				"logs:CreateLogStream",
    				"logs:PutLogEvents"
    			],
    			"Resource": "arn:aws:logs:eu-west-1:123456789012:*"
    		},
    		{
    			"Effect": "Allow",
    			"Action": "logs:CreateLogGroup",
    			"Resource": "*"
    		}
    	]
    }

    Sample Architecture Patterns

    You can implement the following popular architecture patterns using API Gateway & Lambda as your logic tier, Amazon S3 for presentation tier, DynamoDB as your data tier. For each example, we will only use AWS Service that do not require users to manage their own infrastructure.

    Mobile Backend

    1. Presentation Tier: A mobile application running on each user’s smartphone.

    2. Logic Tier: API Gateway & Lambda. The logic tier is globally distributed by the Amazon CloudFront distribution created as part of each API Gateway each API. A set of lambda functions can be specific to user / device identity management and authentication & managed by Amazon Cognito, which provides integration with IAM for temporary user access credentials as well as with popular third party identity providers. Other Lambda functions can define core business logic for your Mobile Back End.

    3. Data Tier: The various data storage services can be leveraged as needed; options are given above in data tier.

    Amazon S3 Hosted Website

    1. Presentation Tier: Static website content hosted on S3, distributed by Amazon CLoudFront. Hosting static website content on S3 is a cost effective alternative to hosting content on server-based infrastructure. However, for a website to contain rich feature, the static content often must integrate with a dynamic back end.

    2. Logic Tier: API Gateway & Lambda, static web content hosted in S3 can directly integrate with API Gateway, which can be CORS complaint.

    3. Data Tier: The various data storage services can be leveraged based on your requirement.

    ServerLess Costing

    At the top of the AWS invoice, we can see the total costing of AWS Services. The bill was processed for 2.1 million API request & all of the infrastructure required to support them.

    Following is the list of services with their costing.

    Note: You can get your costing done from AWS Calculator using following links;

    1. https://calculator.s3.amazonaws.com/index.html
    2. AWS Pricing Calculator

    Conclusion

    The three-tier architecture pattern encourages the best practice of creating application component that are easy to maintain, develop, decoupled & scalable. Serverless Application services varies based on the requirements over development.

  • Hacking Your Way Around AWS IAM Roles

    Identity and Access Management (IAM) offers role-based access control (RBAC) to your AWS account users and resources, and you can granularize the permission set by defining the policy. If you are familiar or even a beginner with AWS cloud, you know how important IAM is.

    “AWS Identity and Access Management (IAM) is a web service that helps you securely control access to AWS resources. You use IAM to control who is authenticated (signed in) and authorized (has permissions) to use resources.”

    – AWS IAM User Guide

    With the emergence of cloud infrastructure services, the coolest thing you can do is write your infrastructure as code. AWS offers SDKs for various programming/scripting languages, and of course, like any other API call, you need to sign a request with tokens. The AWS IAM console lets you generate access_key and secret_access_key tokens. This token can then be configured with your SDK. 

    Alternatively, you can configure the token with your user profile via aws cli. This also means anyone with access_key and secret_access_key will have permissions configured as per the IAM policy. Thus, keeping credentials on the disk is insecure. You can implement a key rotation policy to keep the environment compliant. To even overcome this, you can use the AWS IAM role for services. 

    Let’s say if you are working on an AWS EC2 instance that needs access to some other AWS service, like S3. You can create an IAM role for EC2 with a policy that has appropriate permission to access the S3 bucket. In this case, your SDK doesn’t need a token (not at least on the disk or hardcoded in code). Let’s take a look at the hierarchy of how the AWS SDK looks for a token for signing requests.

    1. Embedded in your code (very insecure). This is the very first place your SDK looks for. Below is a NodeJS example, where access_key and secret_access_key are part of the code itself.

    const {S3} = require("aws-sdk");
    const s3 = new S3({
       accessKeyId : "ABCDEFGHIJKLMNOPQRST",
       secretAccessKey : "7is/HVjA8lm9hRrJyZEPWAs5Bo8KyyvEqjjxIHoO"
      //sessionToken : "options_session_token_if_applicable"
    });

    2. AWS environment variables. If the token is not embedded in your code, your SDK looks for AWS environment variables available to process. These environment variables are AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY, and optional AWS_SESSION_TOKEN. Below is an example where AWS credentials are exported and the aws cli command is used to list S3 buckets. Note that once credentials are exported, they are available to all the child processes. Therefore, these credentials are auto looked up by your AWS SDK.

    3. The AWS credentials (default profile) file located at ~/.aws/credentials. This is the third place for the lookup. You can generate this file by running the command aws configure. You may also manually create this file with various profiles. If you happen to have multiple profiles, you can then export an environment variable called AWS_PROFILE. An example credentials file is given below:

    [default] ; default profile
    aws_access_key_id = <DEFAULT_ACCESS_KEY_ID>
    aws_secret_access_key = <DEFAULT_SECRET_ACCESS_KEY>
      
    [personal-account] ; personal account profile
    aws_access_key_id = <PERSONAL_ACCESS_KEY_ID>
    aws_secret_access_key = <PERSONAL_SECRET_ACCESS_KEY>
      
    [work-account] ; work account profile
    aws_access_key_id = <WORK_ACCESS_KEY_ID>
    aws_secret_access_key = <WORK_SECRET_ACCESS_KEY>

    4. The IAM role attached to your resource. Your resource could be EC2 Instance, Lambda function, AWS glue, ECS Container, RDS, etc. Now, this is a secure way of using credentials. Since your credentials are not stored anywhere on the disk, exported via an environment variable, or hardcoded in the code. You need not worry about key rotation at all.

    TL;DR: IAM roles are a secure way of using credentials. However, they are only applicable to resources within AWS. You can not use them outside of AWS. So, the IAM role can only be attached to resources like EC2, Lambda, ECS, etc.

    The problem statement:

    Let’s say a group of developers needs access to a few S3 buckets and DynamoDB. The organization does not want developers to use access_key and secret_access_key on their local machine (laptop) as access_key and secret_access can be used anywhere or can be stolen. 

    Since IAM roles are more secure, they allocate EC2 with Windows OS and attach the IAM role with appropriate permission to access S3 buckets and DynamoDB and configure IDE and other essential dev tools. Developers then use RDP to connect to EC2 Instance. However, due to license restrictions, only two users can connect with RDP at a given time. So, they add more similar instances. This heavily increases cost. Wouldn’t it be nice, if somehow, IAM roles could be attached to local machines?

    How do IAM roles for resources work?

    Resources like EC2 or Lambda have the link-local address available. The link-local address 169.254.169.254 can be accessed over HTTP port 80 to retrieve instance metadata. For instance, to get the instance-id of an EC2 instance from the host itself, you can query with a GET request to curl -L http://169.254.169.254/latest/meta-data/instance-id/. Similarly, you can retrieve IAM credentials if the IAM role is attached to the EC2 instance. Let’s  assume you have created an IAM role for an EC2 instance with the name “iam-role-for-ec2”. Your SDK will then automatically access credentials via a GET request to curl -L http://169.254.169.254/latest/meta-data/iam/security-credentials/iam-role-for-ec2/

    $ curl -L 169.254.169.254/latest/meta-data/iam/security-credentials/iam-role-for-ec2/
    {
     "Code" : "Success",
     "LastUpdated" : "2021-08-03T09:18:49Z",
     "Type" : "AWS-HMAC",
     "AccessKeyId" : "ASIASP26DFHDIOFNJFFX",
     "SecretAccessKey" : "EK1A7x9dntSzF9LlG7BK08C6zpTS/F6MHYTBo/+U",
     "Token" : "IQoJb3JpZ2luX2VjEPr//////////wEaCXVzLXdlc3QtMiJIMEYCIQCOCqHrHjEkYZUFsRtGXwa8gfGjsBmaU+WrL2Z0ihvA3QIhAIsGhJFiPetOod7IUUC++unWZfoUEgjEU0ULYwZUvGwwKvoDCBIQAhoMMTcxNDU5MTYwNTE4IgxFUXJfE/0cdJs2Gigq1wM8Ww8yAS2i2qUqsQ1t+yd4ATkE5fvIMDtHxzPQ2raVQb+cCgC/eJVQpeNET1SP01HnrN5W1QFID+xOPk3vZt6NrCy48OUf6+cCGrd63Jv/7glAsyQGaGM/Jt5ddi6593dgN7VLFHsEBAwqkZ3j/VjAzYbthP3clmRl++6k+vpiUp2j4uwM4zW/6f8faR6awPbPVmJsyh94pXaQXJU+H0w+9Hp0MlUvP6GRqBiuTwv/+EOiRfth1XGRxxOuR5X+fr0Ve4tede2x0ZvSLeUsUENHlOQnUkSGbu1Hiv1BhDEjhzbHi7PXhW1G9N1FZObE+wdF4hGYbe3LUUIrnp2xnIcxKzmume2YQvFE4DvJvBtF22DsdLP4GPmitofhV2FGcVxP1f5Nv76M6SfOQY65vSZQde4LIwcotRIrMgwEWup2Rplq6s56K93IYXp6QmnUWLgdtcMBTMVQsOFhCdj05P+VYqlKe5xRT4/8BucmIHn7+J4indNoL+3BvYvnpiISdcEhlyswNZOPhVQJjwJfKPPdu9NDEKQ+Jep4wpVvOSh+CAtxKtqwGz1wrKzqlRvzqBFaEQrD4WdPdf9YnTvmKIXgPuk74pZRlarVsREL0KmG6G0zzA2lRYow6JOkiAY6pAHIZGH+UH5RL79drKe86tUnWCORcX9omN2uUK7FemTENwyvholib4jLGY6HcjvDF10jqkcu1KEV20xNsPj87BP7irEH7xH//Jz2+rnSaN5PCqLezSsATPYhHFQjg6Oti+0E33F+F5MA25Pn2+u5TDP1VfFgYExwSor79gNtwbOMs76432ssHYFioYjHttPfVwyNXloLCwgphqJBwiNhMDMcKapK6Q==",
     "Expiration" : "2021-08-03T15:47:26Z"
    }

    Notice that the response payload is JSON with AccessKeyId, SecretAccessKey, and Token. Additionally, there is an Expiration key, which states the validity of the token. This means the token is autogenerated once they expire.

    Solution:

    Now that you know how IAM roles work and how important link-local address is, you have probably guessed what needs to be done so that you can access IAM role credentials from your local machine. The two solutions that popup in my mind are:

    1. Host a lightweight reverse proxy server like Nginx and then write a wrapper around your SDK so that initial calls are made to EC2 and credentials are retrieved.

    2. Route traffic originating from your system, targeting 169.254.169.254. Traffic should reach the EC2 instance and EC2 itself should take care of forwarding packets to the instance metadata server.

    The second solution may sound pretty techy, but it is the ideal solution, and you don’t need to do additional tweaking in your SDK. The developer is transparent about what is being implemented. This blog will focus on implementing a second solution.

    Implementation:

    1. Launch a Linux (Ubuntu 20.04 LTS prefered) EC2 instance from AWS console and attach the IAM role with appropriate permissions. The instance should be in the public subnet and make sure to attach an Elastic IP address. Whitelist incoming port 1194 UDP (open to world) and port 22 (ssh, open to your IP address only) TCP in your instance security group.

    2. Install OpenVPN and git package. apt update; apt install git openvpn.

    3. Clone easy-rsa repository on your server. cd ~;git clone https://github.com/OpenVPN/easy-rsa.git

    4. Generate certificates for OpenVPN server and client using easy-rsa.

    #switch to easy-rsa directory
    cd ~/easy-rsa/easyrsa3
    #copy vars.example to vars
    cp vars.example vars
    #Find below variables in "vars" file and edit them according to your needs
    set_var EASYRSA_REQ_COUNTRY    "US"
    set_var EASYRSA_REQ_PROVINCE   "California"
    set_var EASYRSA_REQ_CITY       "San Francisco"
    set_var EASYRSA_REQ_ORG        "Copyleft Certificate Co"
    set_var EASYRSA_REQ_EMAIL      "me@example.net"
    set_var EASYRSA_REQ_OU         "My Organizational Unit"
    #Also edit below two variables if you plan to run easyrsa in non-interactive mode
    # EASYRSA_REQ_CN should be set to your ElasticIP Address.
    # Note: If your are using openvpn behind a load balancer, or if you plan to map DNS to your server, then this should be set to your DNS name
    set_var EASYRSA_REQ_CN         "Your Instance Elastic IP"
    set_var EASYRSA_BATCH          "NONEMPTY"
    #====================================================
    #Generate certificate and keys for server and client
    ./easyrsa init-pki
    ./easyrsa build-ca nopass
    ./easyrsa gen-dh
    ./easyrsa build-server-full server nopass
    ./easyrsa build-client-full client nopass
    #Copy certificates and keys to server configuration
    cp -p ./pki/ca.crt /etc/openvpn/
    cp -p ./pki/issued/server.crt /etc/openvpn/
    cp -p ./pki/private/server.key /etc/openvpn/
    cp -p ./pki/dh.pem /etc/openvpn/dh2049.pem
    cd /etc/openvpn
    openvpn --genkey --secret myvpn.tlsauth
    echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
    sysctl -p

    5. Configure OpenVPN server.conf file:

    port 1194
    proto udp
    dev tun
    ca ca.crt
    cert server.crt
    key server.key # This file should be kept secret
    dh dh2048.pem
    topology subnet
    server 10.8.0.0 255.255.255.0
    ifconfig-pool-persist ipp.txt
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 8.8.8.8"
    push "dhcp-option DNS 1.1.1.1"
    push "route 169.254.169.254 255.255.255.255"
    keepalive 10 120
    tls-auth myvpn.tlsauth 0
    cipher AES-256-CBC
    comp-lzo
    user nobody
    group nogroup
    persist-key
    persist-tun
    status openvpn-status.log
    log-append  /var/log/openvpn.log
    verb 4
    explicit-exit-notify 1
    remote-cert-eku "TLS Web Client Authentication"

    In the above configuration file, make sure line number 9 is not conflicting with your AWS VPC CIDR. Line number 14 (push “route 169.254.169.254 255.255.255.255”) does a trick for us and is the heart of this blog post. This assures that when a client connects via OpenVPN, a route is added to the client machine so that packets targeting 168.254.169.254 are routed via OpenVPN tunnel. (Note: If you do not add this here, you can manually add a route to your client-side once OpenVPN is connected. ip route add 169.254.169.254/32 YOUR_TUNNEL_IP dev tun0)

    6. Generate an OpenVPN client configuration file:

    #These commands are executed on your EC2 (OopenvVpn)
    cd ~/easy-rsa/easyrsa3
    cat <<EOF >/tmp/client.ovpn
    client
    dev tun
    proto udp
    remote YOUR-ELASTIC-IP-ADDRESS 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    cipher AES-256-CBC
    comp-lzo
    verb 3
    key-direction 1
    EOF
    #append ca certificate
    echo '<ca>' >>/tmp/client.ovpn
    cat ./pki/ca.crt >>/tmp/client.ovpn
    echo '</ca>' >>/tmp/client.ovpn
    #append client certificate
    echo '<cert>' >>/tmp/client.ovpn
    sed -n '/BEGIN CERTIFICATE/,/END CERTIFICATE/{p;/END CERTIFICATE/q}' ./pki/issued/client.crt >>/tmp/client.ovpn
    echo '</cert>' >>/tmp/client.ovpn
    #append client key
    echo '<key>' >>/tmp/client.ovpn
    cat ./pki/private/client.key >>/tmp/client.ovpn
    echo '</key>' >>/tmp/client.ovpn
    #append TLS auth key
    echo '<tls-auth>' >>/tmp/client.ovpn
    cat /etc/openvpn/myvpn.tlsauth >>/tmp/client.ovpn
    echo '</tls-auth>' >>/tmp/client.ovpn

    In the above configuration file, make sure to update line number 9. This could be your EC2 elastic IP address (or domain if mapped and configured).

    7. Finally, download the /tmp/client.ovpn file to your local machine. Install the OpenVPN client software, import the client.ovpn file, and connect. If you are using a Linux machine, you may connect using sudo openvpn –config /path/to/client.ovpn.

    Testing:

    Let us say you have configured the IAM role with permission that lets you list S3 buckets. You should be able to access AWS resources once the OpenVPN client is connected. Your SDK should automatically look for credentials via metadata link-local address. You may install the aws-cli utility and run aws s3 ls to list S3 buckets.

    Conclusion:

    IAM roles are meant to be used with AWS resources like EC2, ECS, Lambda, etc. so that you don’t keep the credentials hardcoded in the code or in the configuration file left unsecured on the disk. Our goal was to use the IAM role directly from the local machine (laptop). We achieved this by using OpenVPN secure SSL tunnel. The VPN assures that we are in a private network, thus keeping the environment compliant. This guide is not meant for how one should set up an OpenVPN server/client. Therefore, you must harden the OpenVPN server. You may put the server behind the network load balancer and may enforce MAC binding features to your clients.

  • Deploy Serverless, Event-driven Python Applications Using Zappa

    Introduction

    Zappa is a  very powerful open source python project which lets you build, deploy and update your WSGI app hosted on AWS Lambda + API Gateway easily.This blog is a detailed step-by-step focusing on challenges faced while deploying Django application on AWS Lambda using Zappa as a deployment tool.

    Building Your Application

    If you do not have a Django application already you can build one by cloning this GitHub repository.

    $ git clone https://github.com/velotiotech/django-zappa-sample.git    

    Cloning into 'django-zappa-sample'...
    remote: Counting objects: 18, done.
    remote: Compressing objects: 100% (13/13), done.
    remote: Total 18 (delta 1), reused 15 (delta 1), pack-reused 0
    Unpacking objects: 100% (18/18), done.
    Checking connectivity... done.

    Once you have cloned the repository you will need a virtual environment which provides an isolated Python environment for your application. I prefer virtualenvwrapper to create one.

    Command :

    $ mkvirtualenv django_zappa_sample 

    Installing setuptools, pip, wheel...done.
    virtualenvwrapper.user_scripts creating /home/velotio/Envs/django_zappa_sample/bin/predeactivate
    virtualenvwrapper.user_scripts creating /home/velotio/Envs/django_zappa_sample/bin/postdeactivate
    virtualenvwrapper.user_scripts creating /home/velotio/Envs/django_zappa_sample/bin/preactivate
    virtualenvwrapper.user_scripts creating /home/velotio/Envs/django_zappa_sample/bin/postactivate
    virtualenvwrapper.user_scripts creating /home/velotio/Envs/django_zappa_sample/bin/get_env_details

    Install dependencies from requirements.txt.

    $ pip install -r requirements.txt

    Collecting Django==1.11.11 (from -r requirements.txt (line 1))
      Downloading https://files.pythonhosted.org/packages/d5/bf/2cd5eb314aa2b89855c01259c94dc48dbd9be6c269370c1f7ae4979e6e2f/Django-1.11.11-py2.py3-none-any.whl (6.9MB)
        100% |████████████████████████████████| 7.0MB 772kB/s 
    Collecting zappa==0.45.1 (from -r requirements.txt (line 2))
    Collecting pytz (from Django==1.11.11->-r requirements.txt (line 1))
      Downloading https://files.pythonhosted.org/packages/dc/83/15f7833b70d3e067ca91467ca245bae0f6fe56ddc7451aa0dc5606b120f2/pytz-2018.4-py2.py3-none-any.whl (510kB)
        100% |████████████████████████████████| 512kB 857kB/s 
    Collecting future==0.16.0 (from zappa==0.45.1->-r requirements.txt (line 2))
    Collecting toml>=0.9.3 (from zappa==0.45.1->-r requirements.txt (line 2))
    Collecting docutils>=0.12 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/50/09/c53398e0005b11f7ffb27b7aa720c617aba53be4fb4f4f3f06b9b5c60f28/docutils-0.14-py2-none-any.whl
    Collecting PyYAML==3.12 (from zappa==0.45.1->-r requirements.txt (line 2))
    Collecting futures==3.1.1 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/a6/1c/72a18c8c7502ee1b38a604a5c5243aa8c2a64f4bba4e6631b1b8972235dd/futures-3.1.1-py2-none-any.whl
    Requirement already satisfied: wheel>=0.30.0 in /home/velotio/Envs/django_zappa_sample/lib/python2.7/site-packages (from zappa==0.45.1->-r requirements.txt (line 2)) (0.31.1)
    Collecting base58==0.2.4 (from zappa==0.45.1->-r requirements.txt (line 2))
    Collecting durationpy==0.5 (from zappa==0.45.1->-r requirements.txt (line 2))
    Collecting kappa==0.6.0 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/ed/cf/a8aa5964557c8a4828da23d210f8827f9ff190318838b382a4fb6f118f5d/kappa-0.6.0-py2-none-any.whl
    Collecting Werkzeug==0.12 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/ae/c3/f59f6ade89c811143272161aae8a7898735e7439b9e182d03d141de4804f/Werkzeug-0.12-py2.py3-none-any.whl
    Collecting boto3>=1.4.7 (from zappa==0.45.1->-r requirements.txt (line 2))
      Downloading https://files.pythonhosted.org/packages/cd/a3/4d1caf76d8f5aac8ab1ffb4924ecf0a43df1572f6f9a13465a482f94e61c/boto3-1.7.24-py2.py3-none-any.whl (128kB)
        100% |████████████████████████████████| 133kB 1.1MB/s 
    Collecting six>=1.11.0 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
    Collecting tqdm==4.19.1 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/c0/d3/7f930cbfcafae3836be39dd3ed9b77e5bb177bdcf587a80b6cd1c7b85e74/tqdm-4.19.1-py2.py3-none-any.whl
    Collecting argcomplete==1.9.2 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/0f/ee/625763d848016115695942dba31a9937679a25622b6f529a2607d51bfbaa/argcomplete-1.9.2-py2.py3-none-any.whl
    Collecting hjson==3.0.1 (from zappa==0.45.1->-r requirements.txt (line 2))
    Collecting troposphere>=1.9.0 (from zappa==0.45.1->-r requirements.txt (line 2))
    Collecting python-dateutil==2.6.1 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/4b/0d/7ed381ab4fe80b8ebf34411d14f253e1cf3e56e2820ffa1d8844b23859a2/python_dateutil-2.6.1-py2.py3-none-any.whl
    Collecting botocore>=1.7.19 (from zappa==0.45.1->-r requirements.txt (line 2))
      Downloading https://files.pythonhosted.org/packages/65/98/12aa979ca3215d69111026405a9812d7bb0c9ae49e2800b00d3bd794705b/botocore-1.10.24-py2.py3-none-any.whl (4.2MB)
        100% |████████████████████████████████| 4.2MB 768kB/s 
    Collecting requests>=2.10.0 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/49/df/50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c/requests-2.18.4-py2.py3-none-any.whl
    Collecting jmespath==0.9.3 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/b7/31/05c8d001f7f87f0f07289a5fc0fc3832e9a57f2dbd4d3b0fee70e0d51365/jmespath-0.9.3-py2.py3-none-any.whl
    Collecting wsgi-request-logger==0.4.6 (from zappa==0.45.1->-r requirements.txt (line 2))
    Collecting lambda-packages==0.19.0 (from zappa==0.45.1->-r requirements.txt (line 2))
    Collecting python-slugify==1.2.4 (from zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/9f/77/ab7134b731d0e831cf82861c1ab0bb318e80c41155fa9da18958f9d96057/python_slugify-1.2.4-py2.py3-none-any.whl
    Collecting placebo>=0.8.1 (from kappa==0.6.0->zappa==0.45.1->-r requirements.txt (line 2))
    Collecting click>=5.1 (from kappa==0.6.0->zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl
    Collecting s3transfer<0.2.0,>=0.1.10 (from boto3>=1.4.7->zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/d7/14/2a0004d487464d120c9fb85313a75cd3d71a7506955be458eebfe19a6b1d/s3transfer-0.1.13-py2.py3-none-any.whl
    Collecting cfn-flip>=0.2.5 (from troposphere>=1.9.0->zappa==0.45.1->-r requirements.txt (line 2))
    Collecting certifi>=2017.4.17 (from requests>=2.10.0->zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl
    Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.10.0->zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
    Collecting idna<2.7,>=2.5 (from requests>=2.10.0->zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/27/cc/6dd9a3869f15c2edfab863b992838277279ce92663d334df9ecf5106f5c6/idna-2.6-py2.py3-none-any.whl
    Collecting urllib3<1.23,>=1.21.1 (from requests>=2.10.0->zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/63/cb/6965947c13a94236f6d4b8223e21beb4d576dc72e8130bd7880f600839b8/urllib3-1.22-py2.py3-none-any.whl
    Collecting Unidecode>=0.04.16 (from python-slugify==1.2.4->zappa==0.45.1->-r requirements.txt (line 2))
      Using cached https://files.pythonhosted.org/packages/59/ef/67085e30e8bbcdd76e2f0a4ad8151c13a2c5bce77c85f8cad6e1f16fb141/Unidecode-1.0.22-py2.py3-none-any.whl
    Installing collected packages: pytz, Django, future, toml, docutils, PyYAML, futures, base58, durationpy, jmespath, six, python-dateutil, botocore, s3transfer, boto3, placebo, click, kappa, Werkzeug, tqdm, argcomplete, hjson, cfn-flip, troposphere, certifi, chardet, idna, urllib3, requests, wsgi-request-logger, lambda-packages, Unidecode, python-slugify, zappa
    Successfully installed Django-1.11.11 PyYAML-3.12 Unidecode-1.0.22 Werkzeug-0.12 argcomplete-1.9.2 base58-0.2.4 boto3-1.7.24 botocore-1.10.24 certifi-2018.4.16 cfn-flip-1.0.3 chardet-3.0.4 click-6.7 docutils-0.14 durationpy-0.5 future-0.16.0 futures-3.1.1 hjson-3.0.1 idna-2.6 jmespath-0.9.3 kappa-0.6.0 lambda-packages-0.19.0 placebo-0.8.1 python-dateutil-2.6.1 python-slugify-1.2.4 pytz-2018.4 requests-2.18.4 s3transfer-0.1.13 six-1.11.0 toml-0.9.4 tqdm-4.19.1 troposphere-2.2.1 urllib3-1.22 wsgi-request-logger-0.4.6 zappa-0.45.1
    @velotiotech

    Now if you run the server directly it will log a warning as the database is not set up yet.

    $ python manage.py runserver  

    Performing system checks...
    
    System check identified no issues (0 silenced).
    
    You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
    
    May 20, 2018 - 14:47:32
    Django version 1.11.11, using settings 'django_zappa_sample.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.

    Also trying to access admin page (http://localhost:8000/admin/) will throw an “OperationalError” exception with below log at server end.

    Internal Server Error: /admin/
    Traceback (most recent call last):
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
        response = get_response(request)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
        response = self.process_exception_by_middleware(e, request)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 242, in wrapper
        return self.admin_view(view, cacheable)(*args, **kwargs)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
        response = view_func(request, *args, **kwargs)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func
        response = view_func(request, *args, **kwargs)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 213, in inner
        if not self.has_permission(request):
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 187, in has_permission
        return request.user.is_active and request.user.is_staff
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/utils/functional.py", line 238, in inner
        self._setup()
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/utils/functional.py", line 386, in _setup
        self._wrapped = self._setupfunc()
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/contrib/auth/middleware.py", line 24, in <lambda>
        request.user = SimpleLazyObject(lambda: get_user(request))
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/contrib/auth/middleware.py", line 12, in get_user
        request._cached_user = auth.get_user(request)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 211, in get_user
        user_id = _get_user_session_key(request)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 61, in _get_user_session_key
        return get_user_model()._meta.pk.to_python(request.session[SESSION_KEY])
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 57, in __getitem__
        return self._session[key]
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 207, in _get_session
        self._session_cache = self.load()
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/contrib/sessions/backends/db.py", line 35, in load
        expire_date__gt=timezone.now()
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
        return getattr(self.get_queryset(), name)(*args, **kwargs)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/db/models/query.py", line 374, in get
        num = len(clone)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/db/models/query.py", line 232, in __len__
        self._fetch_all()
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/db/models/query.py", line 1118, in _fetch_all
        self._result_cache = list(self._iterable_class(self))
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/db/models/query.py", line 53, in __iter__
        results = compiler.execute_sql(chunked_fetch=self.chunked_fetch)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 899, in execute_sql
        raise original_exception
    OperationalError: no such table: django_session
    [20/May/2018 14:59:23] "GET /admin/ HTTP/1.1" 500 153553
    Not Found: /favicon.ico

    In order to fix this you need to run the migration into your database so that essential tables like auth_user, sessions, etc are created before any request is made to the server.

    $ python manage.py migrate 

    Operations to perform:
      Apply all migrations: admin, auth, contenttypes, sessions
    Running migrations:
      Applying contenttypes.0001_initial... OK
      Applying auth.0001_initial... OK
      Applying admin.0001_initial... OK
      Applying admin.0002_logentry_remove_auto_add... OK
      Applying contenttypes.0002_remove_content_type_name... OK
      Applying auth.0002_alter_permission_name_max_length... OK
      Applying auth.0003_alter_user_email_max_length... OK
      Applying auth.0004_alter_user_username_opts... OK
      Applying auth.0005_alter_user_last_login_null... OK
      Applying auth.0006_require_contenttypes_0002... OK
      Applying auth.0007_alter_validators_add_error_messages... OK
      Applying auth.0008_alter_user_username_max_length... OK
      Applying sessions.0001_initial... OK

    NOTE: Use DATABASES from project settings file to configure your database that you would want your Django application to use once hosted on AWS Lambda. By default, its configured to create a local SQLite database file as backend.

    You can run the server again and it should now load the admin panel of your website.

    Do verify if you have the zappa python package into your virtual environment before moving forward.

    Configuring Zappa Settings

    Deploying with Zappa is simple as it only needs a configuration file to run and rest will be managed by Zappa. To create this configuration file run from your project root directory –

    $ zappa init 

    ███████╗ █████╗ ██████╗ ██████╗  █████╗
    ╚══███╔╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗
      ███╔╝ ███████║██████╔╝██████╔╝███████║
     ███╔╝  ██╔══██║██╔═══╝ ██╔═══╝ ██╔══██║
    ███████╗██║  ██║██║     ██║     ██║  ██║
    ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝     ╚═╝  ╚═╝
    
    Welcome to Zappa!
    
    Zappa is a system for running server-less Python web applications on AWS Lambda and AWS API Gateway.
    This `init` command will help you create and configure your new Zappa deployment.
    Let's get started!
    
    Your Zappa configuration can support multiple production stages, like 'dev', 'staging', and 'production'.
    What do you want to call this environment (default 'dev'): 
    
    AWS Lambda and API Gateway are only available in certain regions. Let's check to make sure you have a profile set up in one that will work.
    We found the following profiles: default, and hdx. Which would you like us to use? (default 'default'): 
    
    Your Zappa deployments will need to be uploaded to a private S3 bucket.
    If you don't have a bucket yet, we'll create one for you too.
    What do you want call your bucket? (default 'zappa-108wqhyn4'): django-zappa-sample-bucket
    
    It looks like this is a Django application!
    What is the module path to your projects's Django settings?
    We discovered: django_zappa_sample.settings
    Where are your project's settings? (default 'django_zappa_sample.settings'): 
    
    You can optionally deploy to all available regions in order to provide fast global service.
    If you are using Zappa for the first time, you probably don't want to do this!
    Would you like to deploy this application globally? (default 'n') [y/n/(p)rimary]: n
    
    Okay, here's your zappa_settings.json:
    
    {
        "dev": {
            "aws_region": "us-east-1", 
            "django_settings": "django_zappa_sample.settings", 
            "profile_name": "default", 
            "project_name": "django-zappa-sa", 
            "runtime": "python2.7", 
            "s3_bucket": "django-zappa-sample-bucket"
        }
    }
    
    Does this look okay? (default 'y') [y/n]: y
    
    Done! Now you can deploy your Zappa application by executing:
    
    	$ zappa deploy dev
    
    After that, you can update your application code with:
    
    	$ zappa update dev
    
    To learn more, check out our project page on GitHub here: https://github.com/Miserlou/Zappa
    and stop by our Slack channel here: https://slack.zappa.io
    
    Enjoy!,
     ~ Team Zappa!

    You can verify zappa_settings.json generated at your project root directory.

    TIP: The virtual environment name should not be the same as the Zappa project name, as this may cause errors.

    Additionally, you could specify other settings in  zappa_settings.json file as per requirement using Advanced Settings.

    Now, you’re ready to deploy!

    IAM Permissions

    In order to deploy the Django Application to Lambda/Gateway, setup an IAM role (eg. ZappaLambdaExecutionRole) with the following permissions:

    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Action": [
    "iam:AttachRolePolicy",
    "iam:CreateRole",
    "iam:GetRole",
    "iam:PutRolePolicy"
    ],
    "Resource": [
    "*"
    ]
    },
    {
    "Effect": "Allow",
    "Action": [
    "iam:PassRole"
    ],
    "Resource": [
    "arn:aws:iam:::role/*-ZappaLambdaExecutionRole"
    ]
    },
    {
    "Effect": "Allow",
    "Action": [
    "apigateway:DELETE",
    "apigateway:GET",
    "apigateway:PATCH",
    "apigateway:POST",
    "apigateway:PUT",
    "events:DeleteRule",
    "events:DescribeRule",
    "events:ListRules",
    "events:ListTargetsByRule",
    "events:ListRuleNamesByTarget",
    "events:PutRule",
    "events:PutTargets",
    "events:RemoveTargets",
    "lambda:AddPermission",
    "lambda:CreateFunction",
    "lambda:DeleteFunction",
    "lambda:GetFunction",
    "lambda:GetPolicy",
    "lambda:ListVersionsByFunction",
    "lambda:RemovePermission",
    "lambda:UpdateFunctionCode",
    "lambda:UpdateFunctionConfiguration",
    "cloudformation:CreateStack",
    "cloudformation:DeleteStack",
    "cloudformation:DescribeStackResource",
    "cloudformation:DescribeStacks",
    "cloudformation:ListStackResources",
    "cloudformation:UpdateStack",
    "logs:DescribeLogStreams",
    "logs:FilterLogEvents",
    "route53:ListHostedZones",
    "route53:ChangeResourceRecordSets",
    "route53:GetHostedZone",
    "s3:CreateBucket",
    ],
    "Resource": [
    "*"
    ]
    },
    {
    "Effect": "Allow",
    "Action": [
    "s3:ListBucket"
    ],
    "Resource": [
    "arn:aws:s3:::"
    ]
    },
    {
    "Effect": "Allow",
    "Action": [
    "s3:DeleteObject",
    "s3:GetObject",
    "s3:PutObject",
    "s3:CreateMultipartUpload",
    "s3:AbortMultipartUpload",
    "s3:ListMultipartUploadParts",
    "s3:ListBucketMultipartUploads"
    ],
    "Resource": [
    "arn:aws:s3:::/*"
    ]
    }
    ]
    }

    Deploying Django Application

    Before deploying the application, ensure that the IAM role is set in the config JSON as follows:

    {
    "dev": {
    ...
    "manage_roles": false, // Disable Zappa client managing roles.
    "role_name": "MyLambdaRole", // Name of your Zappa execution role. Optional, default: --ZappaExecutionRole.
    "role_arn": "arn:aws:iam::12345:role/app-ZappaLambdaExecutionRole", // ARN of your Zappa execution role. Optional.
    ...
    },
    ...
    }

    Once your settings are configured, you can package and deploy your application to a stage called “dev” with a single command:

    $ zappa deploy dev

    Calling deploy for stage dev..
    Downloading and installing dependencies..
    Packaging project as zip.
    Uploading django-zappa-sa-dev-1526831069.zip (10.9MiB)..
    100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11.4M/11.4M [01:02<00:00, 75.3KB/s]
    Scheduling..
    Scheduled django-zappa-sa-dev-zappa-keep-warm-handler.keep_warm_callback with expression rate(4 minutes)!
    Uploading django-zappa-sa-dev-template-1526831157.json (1.6KiB)..
    100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1.60K/1.60K [00:02<00:00, 792B/s]
    Waiting for stack django-zappa-sa-dev to create (this can take a bit)..
    100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:11<00:00,  2.92s/res]
    Deploying API Gateway..
    Deployment complete!: https://akg59b222b.execute-api.us-east-1.amazonaws.com/dev

    You should see that your Zappa deployment completed successfully with URL to API gateway created for your application.

    Troubleshooting

    1. If you are seeing the following error while deployment, it’s probably because you do not have sufficient privileges to run deployment on AWS Lambda. Ensure your IAM role has all the permissions as described above or set “manage_roles” to true so that Zappa can create and manage the IAM role for you.

    Calling deploy for stage dev..
    Creating django-zappa-sa-dev-ZappaLambdaExecutionRole IAM Role..
    Error: Failed to manage IAM roles!
    You may lack the necessary AWS permissions to automatically manage a Zappa execution role.
    To fix this, see here: https://github.com/Miserlou/Zappa#using-custom-aws-iam-roles-and-policies

    2. The below error will be caused as you have not listed “events.amazonaws.com” as Trusted Entity for your IAM Role. You can add the same or set “keep_warm” parameter to false in your Zappa settings file. Your Zappa deployment was partially deployed as it got terminated abnormally.

    Downloading and installing dependencies..
    100%|████████████████████████████████████████████| 44/44 [00:05<00:00, 7.92pkg/s]
    Packaging project as zip..
    Uploading django-zappa-sample-dev-1482817370.zip (8.8MiB)..
    100%|█████████████████████████████████████████| 9.22M/9.22M [00:17<00:00, 527KB/s]
    Scheduling...
    Oh no! An error occurred! :(
    
    ==============
    
    Traceback (most recent call last):
    Traceback (most recent call last):
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 2610, in handle
        sys.exit(cli.handle())
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 505, in handle
        self.dispatch_command(self.command, stage)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 539, in dispatch_command
        self.deploy(self.vargs['zip'])
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 800, in deploy
        self.zappa.add_binary_support(api_id=api_id, cors=self.cors)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/core.py", line 1490, in add_binary_support
        restApiId=api_id
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/botocore/client.py", line 314, in _api_call
        return self._make_api_call(operation_name, kwargs)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/botocore/client.py", line 612, in _make_api_call
        raise error_class(parsed_response, operation_name)
    ClientError: An error occurred (ValidationError) when calling the PutRole operation: Provided role 'arn:aws:iam:484375727565:role/lambda_basic_execution' cannot be assumed by principal
    'events.amazonaws.com'.
    
    ==============
    
    Need help? Found a bug? Let us know! :D
    File bug reports on GitHub here: https://github.com/Miserlou/Zappa
    And join our Slack channel here: https://slack.zappa.io
    Love!,
    ~ Team Zappa!

    3. Adding the parameter and running zappa update will cause above error. As you can see it says “Stack django-zappa-sa-dev does not exists” as the previous deployment was unsuccessful. To fix this, delete the Lambda function from console and rerun the deployment.

    Downloading and installing dependencies..
    100%|████████████████████████████████████████████| 44/44 [00:05<00:00, 7.92pkg/s]
    Packaging project as zip..
    Uploading django-zappa-sample-dev-1482817370.zip (8.8MiB)..
    100%|█████████████████████████████████████████| 9.22M/9.22M [00:17<00:00, 527KB/s]
    Updating Lambda function code..
    Updating Lambda function configuration..
    Uploading djangoo-zapppa-sample-dev-template-1482817403.json (1.5KiB)..
    100%|████████████████████████████████████████| 1.56K/1.56K [00:00<00:00, 6.56KB/s]
    CloudFormation stack missing, re-deploy to enable updates
    ERROR:Could not get API ID.
    Traceback (most recent call last):
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 2610, in handle
        sys.exit(cli.handle())
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 505, in handle
        self.dispatch_command(self.command, stage)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 539, in dispatch_command
        self.deploy(self.vargs['zip'])
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 800, in deploy
        self.zappa.add_binary_support(api_id=api_id, cors=self.cors)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/core.py", line 1490, in add_binary_support
        restApiId=api_id
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/botocore/client.py", line 314, in _api_call
        return self._make_api_call(operation_name, kwargs)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/botocore/client.py", line 612, in _make_api_call
        raise error_class(parsed_response, operation_name)
    ClientError: An error occurred (ValidationError) when calling the DescribeStackResource operation: Stack 'django-zappa-sa-dev' does not exist
    Deploying API Gateway..
    Oh no! An error occurred! :(
    
    ==============
    
    Traceback (most recent call last):
    File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 1847, in handle
    sys.exit(cli.handle())
    File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 345, in handle
    self.dispatch_command(self.command, environment)
    File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 379, in dispatch_command
    self.update()
    File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 605, in update
    endpoint_url = self.deploy_api_gateway(api_id)
    File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 1816, in deploy_api_gateway
    cloudwatch_metrics_enabled=self.zappa_settings[self.api_stage].get('cloudwatch_metrics_enabled', False),
    File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/zappa.py", line 1014, in deploy_api_gateway
    variables=variables or {}
    File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/botocore/client.py", line 251, in _api_call
    return self._make_api_call(operation_name, kwargs)
    File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/botocore/client.py", line 513, in _make_api_call
    api_params, operation_model, context=request_context)
    File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/botocore/client.py", line 566, in _convert_to_request_dict
    api_params, operation_model)
    File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/botocore/validate.py", line 270, in serialize_to_request
    raise ParamValidationError(report=report.generate_report())
    ParamValidationError: Parameter validation failed:
    Invalid type for parameter restApiId, value: None, type: <type 'NoneType'>, valid types: <type 'basestring'>
    
    ==============
    
    Need help? Found a bug? Let us know! :D
    File bug reports on GitHub here: https://github.com/Miserlou/Zappa
    And join our Slack channel here: https://slack.zappa.io
    Love!,
    ~ Team Zappa!

    4.  If you run into any distribution error, please try down-grading your pip version to 9.0.1.

    $ pip install pip==9.0.1   

    Calling deploy for stage dev..
    Downloading and installing dependencies..
    Oh no! An error occurred! :(
    
    ==============
    
    Traceback (most recent call last):
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 2610, in handle
        sys.exit(cli.handle())
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 505, in handle
        self.dispatch_command(self.command, stage)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 539, in dispatch_command
        self.deploy(self.vargs['zip'])
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 709, in deploy
        self.create_package()
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 2171, in create_package
        disable_progress=self.disable_progress
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/core.py", line 595, in create_lambda_zip
        installed_packages = self.get_installed_packages(site_packages, site_packages_64)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/core.py", line 751, in get_installed_packages
        pip.get_installed_distributions()
    AttributeError: 'module' object has no attribute 'get_installed_distributions'
    
    ==============
    
    Need help? Found a bug? Let us know! :D
    File bug reports on GitHub here: https://github.com/Miserlou/Zappa
    And join our Slack channel here: https://slack.zappa.io
    Love!,
     ~ Team Zappa!

    or,

    If you run into NotFoundException(Invalid REST API Identifier issue) please try undeploying the Zappa stage and retry again.

    Calling deploy for stage dev..
    Downloading and installing dependencies..
    Packaging project as zip.
    Uploading django-zappa-sa-dev-1526830532.zip (10.9MiB)..
    100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11.4M/11.4M [00:42<00:00, 331KB/s]
    Scheduling..
    Scheduled django-zappa-sa-dev-zappa-keep-warm-handler.keep_warm_callback with expression rate(4 minutes)!
    Uploading django-zappa-sa-dev-template-1526830690.json (1.6KiB)..
    100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1.60K/1.60K [00:01<00:00, 801B/s]
    Oh no! An error occurred! :(
    
    ==============
    
    Traceback (most recent call last):
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 2610, in handle
        sys.exit(cli.handle())
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 505, in handle
        self.dispatch_command(self.command, stage)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 539, in dispatch_command
        self.deploy(self.vargs['zip'])
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/cli.py", line 800, in deploy
        self.zappa.add_binary_support(api_id=api_id, cors=self.cors)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/zappa/core.py", line 1490, in add_binary_support
        restApiId=api_id
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/botocore/client.py", line 314, in _api_call
        return self._make_api_call(operation_name, kwargs)
      File "/home/velotio/Envs/django_zappa_sample/local/lib/python2.7/site-packages/botocore/client.py", line 612, in _make_api_call
        raise error_class(parsed_response, operation_name)
    NotFoundException: An error occurred (NotFoundException) when calling the GetRestApi operation: Invalid REST API identifier specified 484375727565:akg59b222b
    
    ==============
    
    Need help? Found a bug? Let us know! :D
    File bug reports on GitHub here: https://github.com/Miserlou/Zappa
    And join our Slack channel here: https://slack.zappa.io
    Love!,
     ~ Team Zappa!

    TIP: To understand how your application works on serverless environment please visit this link.

    Post Deployment Setup

    Migrate database

    At this point, you should have an empty database for your Django application to fill up with a schema.

    $ zappa manage.py migrate dev

    Once you run above command the database migrations will be applied on the database as specified in your Django settings.

    Creating Superuser of Django Application

    You also might need to create a new superuser on the database. You could use the following command on your project directory.

    $ zappa invoke --raw dev "from django.contrib.auth.models import User; User.objects.create_superuser('username', 'username@yourdomain.com', 'password')"

    Alternatively,

    $ python manage createsuperuser

    Note that your application must be connected to the same database as this is run as standard Django administration command (not a Zappa command).

    Managing static files

    Your Django application will be having a dependency on static files, Django admin panel uses a combination of JS, CSS and image files.

    NOTE: Zappa is for running your application code, not for serving static web assets. If you plan on serving custom static assets in your web application (CSS/JavaScript/images/etc.), you’ll likely want to use a combination of AWS S3 and AWS CloudFront.

    You will need to add following packages to your virtual environment required for management of files to and from S3 django-storages and boto.

    $ pip install django-storages boto
    Add Django-Storage to your INSTALLED_APPS in settings.py
    INSTALLED_APPS = (
    ...,
    storages',
    )
    
    Configure Django-storage in settings.py as
    
    AWS_STORAGE_BUCKET_NAME = 'django-zappa-sample-bucket'
    AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
    STATIC_URL = "https://%s/" % AWS_S3_CUSTOM_DOMAIN
    STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

    Once you have setup the Django application to serve your static files from AWS S3, run following command to upload the static file from your project to S3.

    $ python manage.py collectstatic --noinput

    or

    $ zappa update dev
    $ zappa manage dev "collectstatic --noinput"

    Check that at least 61 static files are moved to S3 bucket. Admin panel is built over  61 static files.

    NOTE: STATICFILES_DIR must be configured properly to collect your files from the appropriate location.

    Tip: You need to render static files in your templates by loading static path and using the same.  Example, {% static %}

    Setting Up API Gateway

    To connect to your Django application you also need to ensure you have API gateway setup for your AWS Lambda Function.  You need to have GET methods set up for all the URL resources used in your Django application. Alternatively, you can setup a proxy method to allow all subresources to be processed through one API method.

    Go to AWS Lambda function console and add API Gateway from ‘Add triggers’.

    1. Configure API, Deployment Stage, and Security for API Gateway. Click Save once it is done.

    2. Go to API Gateway console and,

    a. Recreate ANY method for / resource.

    i. Check `Use Lambda Proxy integration`

    ii. Set `Lambda Region` and `Lambda Function` and `Save` it.

    a. Recreate ANY method for /{proxy+} resource.

    i. Select `Lambda Function Proxy`

    ii. Set`Lambda Region` and `Lambda Function` and `Save` it.

    3. Click on Action and select Deploy API. Set Deployment Stage and click Deploy

    4. Ensure that GET and POST method for / and Proxy are set as Override for this method

    Setting Up Custom SSL Endpoint

    Optionally, you could also set up your own custom defined SSL endpoint with Zappa and install your certificate with your domain by running certify with Zappa. 

    $ zappa certify dev
    
    ...
    "certificate_arn": "arn:aws:acm:us-east-1:xxxxxxxxxxxx:certificate/xxxxxxxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxxxxxxxxx",
    "domain": "django-zappa-sample.com"

    Now you are ready to launch your Django Application hosted on AWS Lambda.

    Additional Notes:

    •  Once deployed, you must run “zappa update <stage-name>” for updating your already hosted AWS Lambda function.</stage-name>
    • You can check server logs for investigation by running “zappa tail” command.
    • To un-deploy your application, simply run: `zappa undeploy <stage-name>`</stage-name>

    You’ve seen how to deploy Django application on AWS Lambda using Zappa. If you are creating your Django application for first time you might also want to read Edgar Roman’s Django Zappa Guide.

    Start building your Django application and let us know in the comments if you need any help during your application deployment over AWS Lambda.

  • Installing Redis Service in DC/OS With Persistent Storage Using AWS Volumes

    Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker.

    It supports various data structures such as Strings, Hashes, Lists, Sets etc. DCOS offers Redis as a service

    Why Do We Use External Persistent Storage for Redis Mesos Containers?

    Since Redis is an in-memory database, an instance/service restart will result in loss of data. To counter this, it is always advisable to snapshot the Redis in-memory database from time to time.

    This helps Redis instance to recover from the point in time failure.

    In DCOS, Redis is deployed as a stateless service. To make it a stateful and persistent data, we can configure local volumes or external volumes.

    The disadvantage of having a local volume mapped to Mesos containers is when a slave node goes down, your local volume becomes unavailable, and the data loss occurs.

    However, with external persistent volumes, as they are available on each node of the DCOS cluster, a slave node failure does not impact the data availability.

    Rex-Ray

    REX-Ray is an open source, storage management solution designed to support container runtimes such as Docker and Mesos.

    REX-Ray enables stateful applications such as databases to persist and maintain its data after the life cycle of the container has ended. Built-in high availability enables orchestrators such as Docker Swarm, Kubernetes, and Mesos Frameworks like Marathon to automatically orchestrate storage tasks between hosts in a cluster.

    Built on top of the libStorage framework, REX-Ray’s simplified architecture consists of a single binary and runs as a stateless service on every host using a configuration file to orchestrate multiple storage platforms.

    Objective: To create a Redis service in DC/OS environment with persistent storage.

    Warning: The Persistent Volume feature is still in beta Phase for DC/OS Version 1.11.

    Prerequisites:

    • Make sure the rexray service is running and is in a healthy state for the cluster.

    Steps:

    • Click on the Add button in Services component of DC/OS GUI.
    • Click on JSON Configuration.  

    Note: For persistent storage, below code should be added in the normal Redis service configuration JSON file to mount external persistent volumes.

    "volumes": [
          {
            "containerPath": "/data",
            "mode": "RW",
            "external": {
              "name": "redis4volume",
              "provider": "dvdi",
              "options": {
                "dvdi/driver": "rexray"
              }
            }
          }
        ],

    • Make sure the service is up and in a running state:

    If you look closely, the service was suspended and respawned on a different slave node. We populated the database with dummy data and saved the snapshot in the data directory.

    When the service did come upon a different node 10.0.3.204, the data persisted and the volume was visible on the new node.

    core@ip-10-0-3-204 ~ $ /opt/mesosphere/bin/rexray volume list
    
    - name: datavolume
      volumeid: vol-00aacade602cf960c
      availabilityzone: us-east-1a
      status: in-use
      volumetype: standard
      iops: 0
      size: "16"
      networkname: ""
      attachments:
      - volumeid: vol-00aacade602cf960c
        instanceid: i-0d7cad91b62ec9a64
        devicename: /dev/xvdb
    

    •  Check the volume tab :

    Note: For external volumes, the status will be unavailable. This is an issue with DC/OS.

    The Entire Service JSON file:

    {
      "id": "/redis4.0-new-failover-test",
      "instances": 1,
      "cpus": 1.001,
      "mem": 2,
      "disk": 0,
      "gpus": 0,
      "backoffSeconds": 1,
      "backoffFactor": 1.15,
      "maxLaunchDelaySeconds": 3600,
      "container": {
        "type": "DOCKER",
        "volumes": [
          {
            "containerPath": "/data",
            "mode": "RW",
            "external": {
              "name": "redis4volume",
              "provider": "dvdi",
              "options": {
                "dvdi/driver": "rexray"
              }
            }
          }
        ],
        "docker": {
          "image": "redis:4",
          "network": "BRIDGE",
          "portMappings": [
            {
              "containerPort": 6379,
              "hostPort": 0,
              "servicePort": 10101,
              "protocol": "tcp",
              "name": "default",
              "labels": {
                "VIP_0": "/redis4.0:6379"
              }
            }
          ],
          "privileged": false,
          "forcePullImage": false
        }
      },
      "healthChecks": [
        {
          "gracePeriodSeconds": 60,
          "intervalSeconds": 5,
          "timeoutSeconds": 5,
          "maxConsecutiveFailures": 3,
          "portIndex": 0,
          "protocol": "TCP"
        }
      ],
      "upgradeStrategy": {
        "minimumHealthCapacity": 0.5,
        "maximumOverCapacity": 0
      },
      "unreachableStrategy": {
        "inactiveAfterSeconds": 300,
        "expungeAfterSeconds": 600
      },
      "killSelection": "YOUNGEST_FIRST",
      "requirePorts": true
    }

    Redis entrypoint

    To connect with Redis service, use below host:port in your applications:

    redis.marathon.l4lb.thisdcos.directory:6379

    Conclusion

    We learned about Standalone Redis Service deployment from DCOS catalog on DCOS.  Also, we saw how to add Persistent storage to it using RexRay. We also learned how RexRay automatically manages volumes over AWS ebs and how to integrate them in DCOS apps/services.  Finally, we saw how other applications can communicate with this Redis service.

    References

  • 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.

  • Lessons Learnt While Building an ETL Pipeline for MongoDB & Amazon Redshift Using Apache Airflow

    Recently, I was involved in building an ETL (Extract-Transform-Load) pipeline. It included extracting data from MongoDB collections, perform transformations and then loading it into Redshift tables. Many ETL solutions are available in the market which kind-of solves the issue, but the key part of an ETL process lies in its ability to transform or process raw data before it is pushed to its destination.

    Each ETL pipeline comes with a specific business requirement around processing data which is hard to be achieved using off-the-shelf ETL solutions. This is why a majority of ETL solutions are custom built manually, from scratch. In this blog, I am going to talk about my learning around building a custom ETL solution which involved moving data from MongoDB to Redshift using Apache Airflow.

    Background:

    I began by writing a Python-based command line tool which supported different phases of ETL, like extracting data from MongoDB, processing extracted data locally, uploading the processed data to S3, loading data from S3 to Redshift, post-processing and cleanup. I used the PyMongo library to interact with MongoDB and the Boto library for interacting with Redshift and S3.

    I kept each operation atomic so that multiple instances of each operation can run independently of each other, which will help to achieve parallelism. One of the major challenges was to achieve parallelism while running the ETL tasks. One option was to develop our own framework based on threads or developing a distributed task scheduler tool using a message broker tool like Celery combined with RabbitMQ. After doing some research I settled for Apache Airflow. Airflow is a Python-based scheduler where you can define DAGs (Directed Acyclic Graphs), which would run as per the given schedule and run tasks in parallel in each phase of your ETL. You can define DAG as Python code and it also enables you to handle the state of your DAG run using environment variables. Features like task retries on failure handling are a plus.

    We faced several challenges while getting the above ETL workflow to be near real-time and fault tolerant. We discuss the challenges faced and the solutions below:

    Keeping your ETL code changes in sync with Redshift schema

    While you are building the ETL tool, you may end up fetching a new field from MongoDB, but at the same time, you have to add that column to the corresponding Redshift table. If you fail to do so the ETL pipeline will start failing. In order to tackle this, I created a database migration tool which would become the first step in my ETL workflow.

    The migration tool would:

    • keep the migration status in a Redshift table and
    • would track all migration scripts in a code directory.

    In each ETL run, it would get the most recently ran migrations from Redshift and would search for any new migration script available in the code directory. If found it would run the newly found migration script after which the regular ETL tasks would run. This adds the onus on the developer to add a migration script if he is making any changes like addition or removal of a field that he is fetching from MongoDB.

    Maintaining data consistency

    While extracting data from MongoDB, one needs to ensure all the collections are extracted at a specific point in time else there can be data inconsistency issues. We need to solve this problem at multiple levels:

    • While extracting data from MongoDB define parameters like modified date and extract data from different collections with a filter as records less than or equal to that date. This will ensure you fetch point in time data from MongoDB.
    • While loading data into Redshift tables, don’t load directly to master table, instead load it to some staging table. Once you are done loading data in staging for all related collections, load it to master from staging within a single transaction. This way data is either updated in all related tables or in none of the tables.

    A single bad record can break your ETL

    While moving data across the ETL pipeline into Redshift, one needs to take care of field formats. For example, the Date field in the incoming data can be different than that in the Redshift schema design. Another example can be that the incoming data can exceed the length of the field in the schema. Redshift’s COPY command which is used to load data from files to redshift tables is very vulnerable to such changes in data types. Even a single incorrectly formatted record will lead to all your data getting rejected and effectively breaking the ETL pipeline.

    There are multiple ways in which we can solve this problem. Either handle it in one of the transform jobs in the pipeline. Alternately we put the onus on Redshift to handle these variances. Redshift’s COPY command has many options which can help you solve these problems. Some of the very useful options are

    • ACCEPTANYDATE: Allows any date format, including invalid formats such as 00/00/00 00:00:00, to be loaded without generating an error.
    • ACCEPTINVCHARS: Enables loading of data into VARCHAR columns even if the data contains invalid UTF-8 characters.
    • TRUNCATECOLUMNS: Truncates data in columns to the appropriate number of characters so that it fits the column specification.

    Redshift going out of storage

    Redshift is based on PostgreSQL and one of the common problems is when you delete records from Redshift tables it does not actually free up space. So if your ETL process is deleting and creating new records frequently, then you may run out of Redshift storage space. VACUUM operation for Redshift is the solution to this problem. Instead of making VACUUM operation a part of your main ETL flow, define a different workflow which runs on a different schedule to run VACUUM operation. VACUUM operation reclaims space and resorts rows in either a specified table or all tables in the current database. VACUUM operation can be FULL, SORT ONLY, DELETE ONLY & REINDEX. More information on VACUUM can be found here.

    ETL instance going out of storage

    Your ETL will be generating a lot of files by extracting data from MongoDB onto your ETL instance. It is very important to periodically delete those files otherwise you are very likely to go out of storage on your ETL server. If your data from MongoDB is huge, you might end up creating large files on your ETL server. Again, I would recommend defining a different workflow which runs on a different schedule to run a cleanup operation.

    Making ETL Near Real Time

    Processing only the delta rather than doing a full load in each ETL run

    ETL would be faster if you keep track of the already processed data and process only the new data. If you are doing a full load of data in each ETL run, then the solution would not scale as your data scales. As a solution to this, we made it mandatory for the collection in our MongoDB to have a created and a modified date. Our ETL would check the maximum value of the modified date for the given collection from the Redshift table. It will then generate the filter query to fetch only those records from MongoDB which have modified date greater than that of the maximum value. It may be difficult for you to make changes in your product, but it’s worth the effort!

    Compressing and splitting files while loading

    A good approach is to write files in some compressed format. It saves your storage space on ETL server and also helps when you load data to Redshift. Redshift COPY command suggests that you provide compressed files as input. Also instead of a single huge file, you should split your files into parts and give all files to a single COPY command. This will enable Redshift to use it’s computing resources across the cluster to do the copy in parallel, leading to faster loads.

    Streaming mongo data directly to S3 instead of writing it to ETL server

    One of the major overhead in the ETL process is to write data first to ETL server and then uploading it to S3. In order to reduce disk IO, you should not store data to ETL server. Instead, use MongoDB’s handy stream API. For MongoDB Node driver, both the collection.find() and the collection.aggregate() function return cursors. The stream method also accepts a transform function as a parameter. All your custom transform logic could go into the transform function. AWS S3’s node library’s upload() function, also accepts readable streams. Use the stream from the MongoDB Node stream method, pipe it into zlib to gzip it, then feed the readable stream into AWS S3’s Node library. Simple! You will see a large improvement in your ETL process by this simple but important change.

    Optimizing Redshift Queries

    Optimizing Redshift Queries helps in making the ETL system highly scalable, efficient and also reduce the cost. Lets look at some of the approaches:

    Add a distribution key

    Redshift database is clustered, meaning your data is stored across cluster nodes. When you query for certain set of records, Redshift has to search for those records in each node, leading to slow queries. A distribution key is a single metric, which will decide the data distribution of all data records across your tables. If you have a single metric which is available for all your data, you can specify it as distribution key. When loading data into Redshift, all data for a certain value of distribution key will be placed on a single node of Redshift cluster. So when you query for certain records Redshift knows exactly where to search for your data. This is only useful when you are also using the distribution key to query the data.

    Source: Slideshare

     

    Generating a numeric primary key for string primary key

    In MongoDB, you can have any type of field as your primary key. If your Mongo collections are having a non-numeric primary key and you are using those same keys in Redshift, your joins will end up being on string keys which are slower. Instead, generate numeric keys for your string keys and joining on it which will make queries run much faster. Redshift supports specifying a column with an attribute as IDENTITY which will auto-generate numeric unique value for the column which you can use as your primary key.

    Conclusion:

    In this blog, I have covered the best practices around building ETL pipelines for Redshift  based on my learning. There are many more recommended practices which can be easily found in Redshift and MongoDB documentation. 

  • Managing Secrets Using AWS Systems Manager Parameter Store and IAM Roles

    Amazon Web Services (AWS) has an extremely wide variety of services which cover almost all our infrastructure requirements. Among the given services, there is AWS Systems Manager which is a collection of services to manage AWS instances, hybrid environment, resources, and virtual machines by providing a common UI interface for all of them. Services are divided into categories such as Resource Groups, Insights, Actions and Shared Resource. Among Shared Resources one is Parameter Store, which is our topic of discussion today. There are many services that may require SSM agents to be installed on the system but the Parameter store can be used as standalone as well.

    What is Parameter Store?

    Parameter Store is a service which helps you arrange your data in a systematic hierarchical format for better reference. Data can be of any type like Passwords, Keys, URLs or Strings. Data can be stored as encrypted or as plain text. Storage is done in Key-Value Format. Parameter store comes integrated with AWS KMS. It provides a key by default and gives you an option to change it, in this blog we will be using the default one.

    Why Parameter Store?

    Let’s compare its competitors, these include Hashicorp Vault and AWS Secrets Manager.

    Vault stores secrets in Database/File-System but requires one to manage the root token and Unseal Keys. And it is not easy to use.

    Next, is the AWS owned Secrets Manager, this service is not free and would require Lambda functions to be written for secret rotation. Which might become an overhead. Also, the hierarchy is taken as a String only, which can’t be iterated.

    Some Key Features of Parameter Store include:

    • As KMS is integrated the encryption takes place automatically without providing extra parameters.
    • It arranges your data hierarchically and it is pretty simple, just apply “/” to form the hierarchy and by applying recursive search we can fetch required parameters.
    • This helps us in removing all those big Config files, which were previously holding our secrets and causing a severe security risk. Helping us in modularizing our applications.
    • Simple Data like Name can be stored as String.
    • Secured Data as SecureString.
    • Even Array data can be stored using StringList.
    • Access configuration is manageable with IAM.
    • Linked with other services like AWS ECS, Lambda, and CloudFormation
    • AWS backed
    • Easy to use
    • Free of cost

    Note: Parameter Store is region specific service thus might not be available in all regions.

    How to Use it?

    Initial Setup:

    Parameter Store can be used both via GUI and terminal.

    AWS console:

    1. Login into your account and select your preferred region.
    2. In Services select Systems Manager and after that select Parameter Store.
    3. If there are already some credentials created than Keys of that credentials will be displayed.
    4. If Not, then you will be asked to “Create Parameter.”

    On CLI:

    1. Download the AWS CLI, it comes along with inbuilt support for Systems Manager (SSM).
    2. Make sure to have your credentials file is configured.

    Use: Both on Console and CLI

    1. Create

    a. Enter the name of the key that you wish to store. If it is hierarchical then apply “/” without quotes and in place of value enter Value.

    Eg: This
      |- is
        | - Key : Value

    Then in name enter “ /This/is/Key” and in value write “Value”

    b. Select the type of storage, if it can be stored as plain text then use String, if the value is in Array format then choose StringList and mention the complete array in value and if you want to secure it then use SecureString.

    c. CLI:

    $aws ssm put-paramater --name "/This/is/Key" --value "Value" --type String  
    {  
    "Version": 1  
    }

    d. If you want to make it secure:

    $aws ssm put-parameter --name "/This" --value "SecureValue" --type SecureString
    {
    "Version": 1
    }

    2. Read

    a. Once Stored, parameters get listed on the console.

    b. To check any of them, just click on the key. If not secured, the value will be directly visible and if it is secured, then the value would be hidden and you will have to explicitly press “Show”.

    AWS Parameter Overview

    c. CLI:

    $aws ssm get-parameter --name /This/is/Key
    {
    "Parameter":
    {
    "Name": "/This/is/Key",
    "LastModifiedDate": 1535362148.994,
    "Value": "Value",
    "Version": 1,
    "Type": "String",
    "ARN": "arn:aws:ssm:us-east-1:275829625285:parameter/This/is/Key"
    } }

    d. For Secured String:  

    $aws ssm get-parameter --name /This --with-decrypt
    {
    "Parameter":
    {
    "Name": "/This",
    "LastModifiedDate": 1535362296.062,
    "Value": "SecureValue",
    "Version": 1,
    "Type": "SecureString",
    "ARN": "arn:aws:ssm:us-east-1:275829625285:parameter/This
    }
    }

    e. If you observe the above command you will realize that despite providing “/This” we did not receive the complete tree. In order to get that provide modify the command as follows:

    $aws ssm get-parameters-by-path --path /This --recursive
    {
    "Parameters": [
    {
    "Name": "/This/is/Key",
    "LastModifiedDate": 1535362148.994,
    "Value": "Value",
    "Version": 1,
    "Type": "String",
    "ARN": "arn:aws:ssm:us-east-1:275829625285:parameter/This/is/Key"
    } ]
    }

    3. Rotate/Modify:

    a. Once a value is saved it automatically gets versioned as 1, if you click on the parameter and EDIT it, then version gets incremented and the new value is stored as version 2. In this way, we achieve rotation of credentials as well.

    b. Type of parameters cannot be changed, you will have to create a new one.

    c. CLI:
    The command itself is clear, just observe the version:

    $aws ssm put-parameter --name "/This/is/Key" --value "NewValue" --type String --overwrite
    {
    "Version": 2
    }

    4. Delete:

    a. Select the parameter or select all the required parameters and click delete

    b. CLI:

    $aws ssm delete-parameter --name "/This/is/Key"

    As you can see commands are pretty simple and if you have observed, ARN information is also getting populated. Below we will discuss IAM role that we can configure, to help us with access control.

    IAM (AWS Identity and Access Management)

    Remember that we are storing some very critical data in Param Store, therefore access to that data should also be well maintained. If by mistake a new developer comes in the team and is given full access over the parameters, chances are he might end up modifying or deleting production parameters. This is something we really don’t want.

    Generally, it is a good practice to have roles and policies predefined such that only the person responsible has access to required data. Control over the parameters can be done to a granular level. But for this blog, we will take a simple use case. That being said we can take reference from the policies mentioned below.

    By using the resource we can specify the path for parameters, that can be accessed by a particular policy. For example, only System Admin should be able to fetch Production credentials, then in order to achieve this, we will be placing “parameter/production” on the policy, where production represents the top level hierarchy. Thus making anything stored under production become accessible, if we want to more fine tune it then we can do so by adding parameters after – parameter/production/<till>/<the>/<last>/<level></level></last></the></till>

    Below are some of the policies that can be applied to a group or user on a server level. Depending on the requirement, explicit deny can also be applied to Developers for Production.

    For Production Servers:

    SSMProdReadOnly:

    "ssm:GetParameterHistory",
    "ssm:ListTagsForResource",
    "ssm:GetParametersByPath",
    "ssm:GetParameters",
    "ssm:GetParameter"
    "Resource": "arn:aws:ssm:<Region>:<Role-ID>:parameter/production"

    SSMProdWriteOnly:

    "ssm:GetParameterHistory",
    "ssm:ListTagsForResource",
    "ssm:GetParametersByPath",
    "ssm:GetParameters",
    "ssm:GetParameter",
    "ssm:PutParameter",
    "ssm:DeleteParameter",
    "ssm:AddTagsToResource",
    "ssm:DeleteParameters" "Resource": "arn:aws:ssm:<Region>:<Role-ID>:parameter/production"

    For Dev Servers:

    SSMDevelopmentReadWrite

    "ssm:PutParameter",
    "ssm:DeleteParameter",
    "ssm:RemoveTagsFromResource",
    "ssm:AddTagsToResource",
    "ssm:GetParameterHistory",
    "ssm:ListTagsForResource",
    "ssm:GetParametersByPath",
    "ssm:GetParameters",
    "ssm:GetParameter"
    "Resource": "arn:aws:ssm:<Region>:<Role-ID>:parameter/development"

    Conclusion

    This was all about the AWS systems manager parameter store and the IAM roles. Now that you know what the parameter store is, why should you use it, and how to use it, I hope this helps you in kick-starting your credential management using AWS Parameter Store. Start using it already and share your experiences or suggestions in the comments section below.