ibm-developer / generator-ibm-cloud-enablement Goto Github PK
View Code? Open in Web Editor NEWIBM Cloud Enablement Yeoman Generator
License: Apache License 2.0
IBM Cloud Enablement Yeoman Generator
License: Apache License 2.0
In latest liberty release "wget and unzip" utilities removed from the liberty image and these changes needed for the templates to work.
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.
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.
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?
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
We are missing installUtility in Dockerfile for liberty applications. Here is the change we need.
https://github.com/NottyCode/generator-ibm-cloud-enablement/blob/master/generators/dockertools/templates/java/Dockerfile.template
Pull request to support ppc64 (
#412)
RUN installUtility install --acceptLicense defaultServer
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 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:
-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.
The common kubernetes templates have repositoryUrl/applicationName
in the Values.yaml file. The Java specific Kubernetes templates do not have this.
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).
.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"
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
As of Docker 17.03 (March, 2017), https://docs.docker.com/engine/reference/builder/#maintainer-deprecated . The suggested replacement is:
LABEL maintainer="Old MAINTAINER value goes here"
As Swift 4.2 was released in September, alongside Xcode 10, we should update to Swift 4.2 (this obsoletes #332).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.