ansibleplaybookbundle / apb-base Goto Github PK
View Code? Open in Web Editor NEWBase image for APB development
License: Apache License 2.0
Base image for APB development
License: Apache License 2.0
I have an APB that I've had to pin to release-1.2 because of how the parameters where being provided when run manually.https://github.com/openshift-labs/starter-guides/blob/ocp-3.11/apb/Dockerfile#L1
Now, when I run this APB, using the provisioning playbook as documented (https://github.com/openshift-labs/starter-guides/tree/ocp-3.11/apb#provision-1), which has been running fine for months.
Now, I get the following error:
TASK [openshift_eclipse_che : set_fact] **********************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "You need to install \"jmespath\" prior to running json_query filter"}
Which maps to this imported role line: https://github.com/siamaksade/ansible-openshift-eclipse-che/blob/master/tasks/multi_user.yml#L100
This means, that the image is missing python-jmespath
. Found this issue (https://bugzilla.redhat.com/show_bug.cgi?id=1484910) but that one should be fixed upstream in the version that is used in this image.
An additional question:
Is there a way to properly identify the images built on Dockerhub to tags on this repository? If I develop using release-1.2 tag of ansibleplaybookbundle/apb-base
is there any guarantee the image will be stable through time? Is there non-rolling tags?
It seems that epel-testing
introduction has been integrated into apb-base:latest
The commit has been reverted but not integrated into the latest image which leads to anomaly on APBs base on it.
For future reference, here are the errors I encountered:
'ascii' codec can't decode byte 0xe2 in position 5091: ordinal not in range(128)"
when lookup
on file that contains non ascii charsThe spec file fails to include the files in files/etc/ansible/
, which include ansible.cfg
and hosts
.
Originally the issue [1] was found in eclipse-che where tests are executed via the following command using the canary
version of apb-base :
oc run "${APB_NAME}-test" -it --restart='Never' --image "${REGISTRY}/${APB_NAME}/${APB_NAME}" --env "OPENSHIFT_TOKEN=${OC_PASS}" --env "OPENSHIFT_TARGET=https://kubernetes.default.svc" --env "POD_NAME=${APB_NAME}-test" --env "POD_NAMESPACE=${APB_NAME}" --overrides='{"apiVersion":"v1","spec":{"serviceAccountName":"apb"}}' -- test -e namespace=${APB_NAME}
The following command works correctly against sprint150.1
version of apb-base, but fails with the following error against the most recent version:
ERROR! Invalid extra vars data supplied. '@/opt/apb/env/extravars' could not be made into a dictionary
Basically, it appeared to be that on the recent version of apb-base extra vars must be passed the following way: -e "{"namespace": "${APB_NAME}"}"
and -e namespace=${APB_NAME}
way of passing extra vars is not supported currently even though the docs are saying the opposite:
-e EXTRA_VARS, --extra-vars=EXTRA_VARS
set additional variables as key=value or YAML/JSON, if
filename prepend with @
What happened:
If you follow https://github.com/openshift/ansible-service-broker/blob/master/docs/secrets.md and try to add a multiline secret as in:
---
apiVersion: v1
kind: Secret
metadata:
name: test
namespace: openshift-automation-service-broker
stringData:
"test1": "test1"
"test2": "test2"
"test_multiline": |-
-----BEGIN RSA PRIVATE KEY-----
<FIRST LINE OF THE SSH KEY>
<SECOND LINE OF THE SSH KEY>
the Ansible Playbook Bundle will see an error while loading the secrets YAML file, as if it was using newlines to separate secrets:
ERROR! Syntax Error while loading YAML.
could not find expected ':'
The error appears to have been in '/tmp/secrets': line 6, column 1, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
<FIRST LINE OF THE SSH KEY>
<SECOND LINE OF THE SSH KEY>
^ here
This happens as well if you use the base64 data secret.
What you expected to happen:
The secret should keep the newlines and be used as a parameter on the APB.
Mounted secrets are copied to /tmp/secrets
so they can be passed as parameters to the playbook, but instead of producing this expected secrets file:
---
ACCESS_KEY: blah
SECRET_KEY: blah
SWARM_CLUSTER_KEYPAIR: |-
-----BEGIN RSA PRIVATE KEY-----
blah
blah
blah
-----END RSA PRIVATE KEY-----
openstack_admin__user: blah
openstack_admin_password: blah
They produce something like this, which will fail during parsing:
---
ACCESS_KEY: blah
SECRET_KEY: blah
SWARM_CLUSTER_KEYPAIR: -----BEGIN RSA PRIVATE KEY-----
blah1 blah2
blah3 ...
-----END RSA PRIVATE KEY-----
openstack_admin__user: blah
openstack_admin_password: blah
Hi there,
Using the script run_latest_build.sh to start a origin local cluster, the oc client version do not match with Origin version:
sh-4.2$ oc version
oc v3.7.0+7ed6862
kubernetes v1.7.6+a08f5eeb62
features: Basic-Auth GSSAPI Kerberos SPNEGO
Server https://172.30.0.1:443
openshift v3.9.0-alpha.4+a303fa3-389
kubernetes v1.9.1+a0ce1bc657
Then the APBs fails on execution because of the API changes.
Dockerfile: https://github.com/ansibleplaybookbundle/apb-base/blob/master/Dockerfile-nightly
Rpms: http://mirror.centos.org/centos/7/paas/x86_64/openshift-origin/
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.