Build Spring Cloud Data Flow

Build: #1412 was successful Code changes detected

Build result summary

Details

Completed
Duration
11 minutes
Labels
None
Revision
d26944952303bf90adced43122472a919457ea84 d26944952303bf90adced43122472a919457ea84
Total tests
1015
First to pass since
#1411 (Code changes detected – )

Tests

Code commits

Author Commit Message Commit date
Ilayaperumal Gopinathan Ilayaperumal Gopinathan d26944952303bf90adced43122472a919457ea84 m d26944952303bf90adced43122472a919457ea84 Support undeploy/destroy operation via StreamService
 - Have the StreamDeploymentController delegate the undeploy operation via StreamService
 - Add SPI contract `undeployStream` at StreamService and StreamDeployer
 - Implement `undeployStream` in SkipperStreamDeployer to invoke `delete` release REST endpoint after constructing the release name
 - Move AppDeployerStreamDeployer specific code
 - Add tests

Resolves #1682
Resolves #1683

Polished tests per code review on merge
Ilayaperumal Gopinathan Ilayaperumal Gopinathan 4146e97c613bf65df5890a9551b38d0120b0102b m 4146e97c613bf65df5890a9551b38d0120b0102b Record stream deployment
 - Add StreamDeployment repository that keeps track stream deployments
   - Define necessary operations in StreamDeploymentRepository interface
   - Implement both RDBMS and in-memory (for test only)
   - Define DDL for supported DB schemas
 - Add StreamDeployment domain object
 - Verify StreamDeployment entry when upgrading stream
 - Verify StreamDeployment when calculating state
 - Remove usage of USE_SKIPPER as the system property
 - Add tests to verify both the upgrade and state in DefaultStreamService

Resolves #1681

Store stream deployment for appdeployer

Remove unwanted spring-data-rest dependency

Fix StreamDeploymentRepository deletion

 - Make sure the delete the Stream Deployment entry when the stream is undeployed

Address review comments
Soby Chacko Soby Chacko 82499b2059837b3c0a28d1a5aeab02e0744e230d m 82499b2059837b3c0a28d1a5aeab02e0744e230d Upgrade spring-cloud-build to 1.3.5.RELEASE
* Fix checkstyle errors
* Remove guava dependency in spring-cloud-starter-dataflow-server-local
* Add new test utility method n spring-cloud-starter-dataflow-server-local
  to create immutable map from <String, String> pairs
* Fix tests in spring-cloud-starter-dataflow-server-local because of guava removal
* Remove redundant groupId in root pom.xml

Fixes #1663

Fixed Code Review Comments on Merge
Mark Pollack Mark Pollack e116e82dd63a324d621373f34c0df76e1791b3e4 m e116e82dd63a324d621373f34c0df76e1791b3e4 Add "stream update" command in shell and server
Test by starting up SCDF server/shell and Skipper server/shell - no args/options

```
dataflow:>app import --uri http://bit.ly/Bacon-RELEASE-stream-applications-rabbit-maven

dataflow:>stream create --name ticktock --definition "time | log" --deploy --useSkipper
Created new stream 'ticktock'
Deployment request has been sent
dataflow:>stream list
╔═══════════╤═════════════════╤════════════════════════════════════════╗
║Stream Name│Stream Definition│                 Status                 ║
╠═══════════╪═════════════════╪════════════════════════════════════════╣
║ticktock   │time | log       │All apps have been successfully deployed║
╚═══════════╧═════════════════╧════════════════════════════════════════╝

dataflow:>stream update --name ticktock --yaml log.version=1.1.1.RELEASE
Update request has been sent for stream 'ticktock'
dataflow:>stream list
╔═══════════╤═════════════════╤════════════════════════════════════════╗
║Stream Name│Stream Definition│                 Status                 ║
╠═══════════╪═════════════════╪════════════════════════════════════════╣
║ticktock   │time | log       │All apps have been successfully deployed║
╚═══════════╧═════════════════╧════════════════════════════════════════╝

```
Simultaneous commands in skipper

```
skipper:>list
╔══════════╤═══════╤════════════════════════╤════════╤═══════════╤═════════════╤════════════╤═════════════╗
║   Name   │Version│      Last updated      │ Status │  Package  │   Package   │  Platform  │  Platform   ║
║          │       │                        │        │   Name    │   Version   │    Name    │   Status    ║
╠══════════╪═══════╪════════════════════════╪════════╪═══════════╪═════════════╪════════════╪═════════════╣
║myticktock│1      │Wed Oct 11 02:02:35 EDT │DEPLOYED│ticktock   │1.0.0        │default     │             ║
║          │       │2017                    │        │           │             │            │             ║
╚══════════╧═══════╧════════════════════════╧════════╧═══════════╧═════════════╧════════════╧═════════════╝

skipper:>status --release-name myticktock
╔═══════════════╤══════════════════════════════════════════════╗
║Last Deployed  │Wed Oct 11 02:02:35 EDT 2017                  ║
║Status         │DEPLOYED                                      ║
║Platform Status│The applications are being deployed.          ║
║               │ticktock.log-v1[ticktock.log-v1-0=deploying]  ║
║               │ticktock.time-v1[ticktock.time-v1-0=deploying]║
╚═══════════════╧══════════════════════════════════════════════╝

skipper:>status --release-name myticktock
╔═══════════════╤═════════════════════════════════════════════════╗
║Last Deployed  │Wed Oct 11 02:03:17 EDT 2017                     ║
║Status         │DEPLOYED                                         ║
║Platform Status│All applications have been successfully deployed.║
║               │ticktock.log-v2[ticktock.log-v2-0=deployed]      ║
║               │ticktock.time-v1[ticktock.time-v1-0=deployed]    ║
╚═══════════════╧═════════════════════════════════════════════════╝

skipper:>get manifest --release-name myticktock --release-version 2

---
apiVersion: skipper/v1
kind: SpringBootApp
metadata:
  count: 1
  name: log
spec:
  resource: maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.1.1.RELEASE
  resourceMetadata: maven://org.springframework.cloud.stream.app:log-sink-rabbit:jar:metadata:1.1.1.RELEASE
  applicationProperties:
    spring.metrics.export.triggers.application.includes: integration**
    spring.cloud.dataflow.stream.app.label: log
    spring.cloud.stream.metrics.key: ticktock.log.${spring.cloud.application.guid}
    spring.cloud.stream.bindings.input.group: ticktock
    spring.cloud.stream.metrics.properties: spring.application.name,spring.application.index,spring.cloud.application.*,spring.cloud.dataflow.*
    spring.cloud.dataflow.stream.name: ticktock
    spring.cloud.dataflow.stream.app.type: sink
    spring.cloud.stream.bindings.input.destination: ticktock.time
  deploymentProperties:
    spring.cloud.deployer.indexed: true
    spring.cloud.deployer.group: ticktock

---
apiVersion: skipper/v1
kind: SpringBootApp
metadata:
  count: 1
  name: time
spec:
  resource: maven://org.springframework.cloud.stream.app:time-source-rabbit:1.2.0.RELEASE
  resourceMetadata: maven://org.springframework.cloud.stream.app:time-source-rabbit:jar:metadata:1.2.0.RELEASE
  applicationProperties:
    spring.metrics.export.triggers.application.includes: integration**
    spring.cloud.dataflow.stream.app.label: time
    spring.cloud.stream.metrics.key: ticktock.time.${spring.cloud.application.guid}
    spring.cloud.stream.bindings.output.producer.requiredGroups: ticktock
    spring.cloud.stream.metrics.properties: spring.application.name,spring.application.index,spring.cloud.application.*,spring.cloud.dataflow.*
    spring.cloud.stream.bindings.output.destination: ticktock.time
    spring.cloud.dataflow.stream.name: ticktock
    spring.cloud.dataflow.stream.app.type: source
  deploymentProperties:
    spring.cloud.deployer.group: ticktock

```

Fixes #154
Ilayaperumal Gopinathan Ilayaperumal Gopinathan 6e72785fc15cf1ce43071011735cba36ea5c77fc m 6e72785fc15cf1ce43071011735cba36ea5c77fc Handle error conditions and null values
 - In SkipperStreamDeployer handle exception thrown when status() is invoked
 - In StreamDefinitionController check for null condition on DeploymentState
 - Fix test to mock StreamService

Jira issues

IssueDescriptionStatus
Unknown Issue TypeGH-50Could not obtain issue details from Jira
Unknown Issue TypeGH-1495Could not obtain issue details from Jira
Unknown Issue TypeGH-1568Could not obtain issue details from Jira