Git Product home page Git Product logo

generator-ibm-cloud-enablement's People

Contributors

a-roberts avatar akihikokuroda avatar alembe avatar chuckcox avatar dingwilson avatar dtadcox avatar enriquel8 avatar gabe-terrell avatar gee4vee avatar ibmcloudtools avatar jmeis avatar katheris avatar marknsweep avatar mblume97 avatar mfpanaly avatar mikerott avatar ndibbern avatar nfstein avatar patricktiu avatar paulben avatar quanvo87 avatar reedcozart avatar rolivieri avatar sjc-code avatar tchengus avatar theodoracheng avatar tobespc avatar triceam avatar tunniclm avatar youming-lin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

generator-ibm-cloud-enablement's Issues

Generated dockerfiles for node fail on ppc64le and s390x

The template for the node generator has node:8 as base image in the generated dockerfiles. The node:8
image is based on Debian jessie, which is no longer supported for ppc64le and s390x architectures. So
the apt-get update in the generated dockerfiles now fails on those platforms, see
nodejs/docker-node#855

Proposed fix is to update the base image to node:8-stretch

Kubernetes deployment scripts fails for v1.12+ clusters

The Kubernetes deployment via Delivery Pipeline fails in clusters running Kubernetes version v1.12.

This is caused because the kube-system default service account no longer has cluster-admin access to the Kubernetes API.

See: https://console.bluemix.net/docs/containers/cs_versions.html#cs_v112 (specifically the section related to role bindings).

How to reproduce the issue:

  1. Click "Create resource".
  2. Select "Python Microservice with Flask" under Starter Kits.
  3. Create "Python + Flask" app under the "default" resource group in my personal account.
  4. Click "Deploy to Cloud". Select "Deploy to Kubernetes" in Dallas to my own Kubernetes cluster and "default" resource group.
  5. Click "View toolchain" and open the "Delivery Pipeline" in the next screen.
  6. The "Build Stage" succeeds.
  7. The "Deploy Stage" fails at line 48 of the .bluemix/scripts/kube_deploy.sh script.
$ helm upgrade --install --debug --dry-run ${RELEASE_NAME} ./chart/${CHART_NAME} --set image.repository=${IMAGE_REPOSITORY},image.tag=${BUILD_NUMBER} --namespace ${CLUSTER_NAMESPACE}

Error: UPGRADE FAILED: configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list resource "configmaps" in API group "" in the namespace "kube-system"

Generated liberty application won't start on ppc64le due to x86_64 agentlib.

If I use generator-ibm-java to generate a liberty app I can't start it on ppc64le.
It fails with:

[INFO] CWWKM2001I: Invoke command is [/opt/ibm/wlp/bin/server, create, defaultServer].
[INFO] JVMJ9TI001E Agent library am_ibm_16 could not be opened (libam_ibm_16.so: cannot open shared object file: No such file or directory)
[INFO] JVMJ9VM015W Initialization error for library j9jvmti29(-3): JVMJ9VM009E J9VMDllMain failed

The cause seems to be the apm agent library that is now loaded:

JVM_ARGS="$JVM_ARGS -agentlib:am_ibm_16=defaultServer -Xbootclasspath/p:/opt/ibm/wlp/usr/extension/liberty_dc/toolkit/lib/bcm-bootstrap.jar -Xverbosegclog:/logs/gc.log,1,10000 -verbosegc -Djava.security.policy=/opt/ibm/wlp/usr/extension/liberty_dc/itcamdc/etc/datacollector.policy -Dliberty.home=/opt/ibm/wlp"

The library loaded by -agentlib:am_ibm_16=defaultServer is a 64 bit intel binary:

$ file libam_ibm_16.so 
libam_ibm_16.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7f85911c0dc37ea4a0826f8119e7e7dd282152b5, not stripped

It looks like installUtility install --acceptLicense apmDataCollector-7.4 only installs an intel binary regardless of architecture. This prevents us starting the application on ppc64le.

All of the docker images are multi-arch and liberty is Java code so if I disable that in the docker file then the application starts without problem on ppc64le.

Knative service deployment does not pull latest image using latest tag

Using the implied latest tag for the image in the service.yml does not result in knative pulling the latest image when recreating pods. Hence application code updates are not deployed. The solution is to add imagePullPolicy: Always to the service yaml to indicate that the latest image should always be pulled.

Hard-coded use of /health will break with languages that don't support straight /health path

Liberty, Spring Boot 2, and others don't use /health, they use a variant.

In most cases, we're testing for a specified value, and using /health as a fallback, e.g.
/{{#if healthEndpoint}}{{healthEndpoint}}{{else}}health{{/if}}

Link to hard-coded endpoint in VSI pipeline yaml:

if [ $(curl -sL -w "%{http_code}\\n" "http://${VSI_HOST}:${PORT}/health/" -o /dev/null --connect-timeout 3 --max-time 5) == "200" ]; then

Secrets added for cloud enablement causing Kubernetes fail to deploy application

When node projects are generated with the "Alert" template for IBM Cloud enablement, this section is added to the deployment.yaml

env:
          - name: service_alert_notification
            valueFrom:
              secretKeyRef:
                name: binding-alert-name
                key: binding

If the Kubernetes cluster doesn't have the binding-alert-name secret, it'll fail to deploy. Is this secret needed? If not, can it be taken out? If it is needed, how can we work around it?

Dockerfile template has to consume latest liberty base image changes.

In latest liberty release "wget and unzip" utilities removed from the liberty image and these changes needed for the templates to work.

Template
https://github.com/ibm-developer/generator-ibm-cloud-enablement/blob/develop/generators/dockertools/templates/java/Dockerfile.template

Liberty doc to build application image..
https://github.com/WASdev/ci.docker/#building-an-application-image

Two issues have to be addressed here one is consume "configure.sh" and remove applying license in the Dockerfile and this should be option in "configure.sh" for customers.

Version mismatch caused by latest PR

As noticed by @EnriqueL8:

Hey @quanvo87, this PR upgrade the version in npm to 0.13.0 but tagged the repo to 0.12.1. So it produced an inconsistency between the versions in npm and github... I believe this happened because after this PR was generated , a new commit was push to update the Package.json to 0.13.0. Could we look to fix this?

Caused by PR #250

@a-roberts also noticed this.

package.json currently has : "version": "0.13.0",

https://www.npmjs.com/package/generator-ibm-cloud-enablement?activeTab=versions has 0.13.0 as most recent.

most recent in Releases is 0.12.1

Swift 4.2 support

As Swift 4.2 was released in September, alongside Xcode 10, we should update to Swift 4.2 (this obsoletes #332).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.