On Mon, Jul 11, 2016 at 10:28 AM, Robson Ramos Barreto < [email protected]> wrote:
> > > 2016-07-11 11:16 GMT-03:00 Ben Parees <[email protected]>: > >> >> >> On Mon, Jul 11, 2016 at 10:13 AM, Robson Ramos Barreto < >> [email protected]> wrote: >> >>> >>> 2016-07-08 16:45 GMT-03:00 Ben Parees <[email protected]>: >>> >>>> >>>> >>>> On Fri, Jul 8, 2016 at 3:33 PM, Robson Ramos Barreto < >>>> [email protected]> wrote: >>>> >>>>> Hello Ben >>>>> >>>>> Thank you for your time >>>>> >>>>> I'm using this one: >>>>> https://github.com/rrbarreto/ose-wordpress/blob/master/wordpress-template.json >>>>> >>>>> I see. So the files are being replaced when the PV is mounted because >>>>> the image with the contents are created before, right ? >>>>> >>>> >>>> right >>>> >>>> >>>> >>>>> >>>>> > Your goal should be to have an image that is immutable w/ respect to >>>>> application logic. >>>>> I'm newbie with openshift / docker so I'd appreciate very much if you >>>>> could give me any example from how I can do that >>>>> >>>> >>>> well that template creates an image that is immutable w/ respect to >>>> application logic.. the template is defining a buildconfig which produces >>>> a wordpress image that includes the wordpress code as part of the image. >>>> >>> That's it. The template is creating the image with the wordpress code >>> only to ephemeral volume. When I attach a persistent volume (as you can see >>> in the template) the worpress code isn't being built in the image. >>> >>> My goal is deploy wordpress application with persistent volume and make >>> autoscaling. >>> >> >> If you want the actual code to live on a PV so that it is shared between >> instances when you scale up, you will need to create your own wordpress >> image in which the code is built into the image, but during startup, the >> image copies its code into the PV location and then launches wordpress >> using the PV code. >> > > How could I to do this ? > we do something similar in our jenkins image, the config is baked into the image and then copied to the PV mount path during startup so the config can be modified by the user and persisted, you can look to this example: https://github.com/openshift/jenkins/blob/master/1/contrib/s2i/run#L37-L65 > >> >> >> >>> >>> >>>> If you are interested in changing the wordpress code that's included in >>>> the image, you should change what the buildconfig is building by changing >>>> the code in the repository referenced here: >>>> >>>> https://github.com/rrbarreto/ose-wordpress/blob/master/wordpress-template.json#L75 >>>> >>>> That parameter is defined here with a default value: >>>> >>>> https://github.com/rrbarreto/ose-wordpress/blob/master/wordpress-template.json#L378 >>>> >>>> obviously you can't change the >>>> https://github.com/wordpress/wordpress.git repository, so you'd want >>>> to: >>>> 1) fork the wordpress repo >>>> 2) make your changes in your fork >>>> 3) update the template to change the default parameter value to point >>>> to your fork, or at least when instantiating the template, explicitly set >>>> the parameter value to point to your fork instead of accepting the default >>>> parameter value. >>>> >>>> >>>> >>>> >>>> >>>> >>>>> >>>>> Thank you >>>>> >>>>> Regards >>>>> >>>>> Robson >>>>> >>>>> 2016-07-08 13:18 GMT-03:00 Ben Parees <[email protected]>: >>>>> >>>>>> Not sure which wordpress image/example you're using since there are >>>>>> two in there, but if you started from this one: >>>>>> https://github.com/openshift/origin/blob/master/examples/wordpress/template/wordpress-mysql.json, >>>>>> then the wordpress source lives in /opt/app-root/src within the image and >>>>>> since you're mounting a PV to that path, you're replacing the >>>>>> /opt/app-root/src image content with the contents of your PV. >>>>>> >>>>>> Fundamentally that wordpress image isn't designed to have >>>>>> /opt/app-root/src be a volume. >>>>>> >>>>>> If you want the source code to be on a PV so you can safely edit it >>>>>> and have your changes persisted, you need an image that's going to, on >>>>>> startup, copy its source from a location within the image, to a location >>>>>> that you're mounting the PV at, and then run the source from that PV >>>>>> directory. >>>>>> >>>>>> But in general that would not be a recommended pattern. Your goal >>>>>> should be to have an image that is immutable w/ respect to application >>>>>> logic. >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Jul 8, 2016 at 11:29 AM, Robson Ramos Barreto < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hello Guys, >>>>>>> >>>>>>> I'm trying to deploy wordpress with persistent volume on openshift >>>>>>> enterprise 3.2 (30 Day Self-Supported) as in the example [1] but the git >>>>>>> files aren't being wirtten in the NFS path. MySQL is being deployed >>>>>>> properly in the NFS persistent volume >>>>>>> >>>>>>> # ls -ld /exports/wordpress/mysql/ >>>>>>> drwxrwxrwx. 5 nfsnobody nfsnobody 4096 Jul 8 10:35 >>>>>>> /exports/wordpress/mysql/ >>>>>>> >>>>>>> # ls -lr /exports/wordpress/mysql/ >>>>>>> total 88084 >>>>>>> drwx------. 2 27 27 19 Jul 8 09:48 wordpress >>>>>>> drwx------. 2 27 27 4096 Jul 8 09:48 performance_schema >>>>>>> -rw-rw----. 1 27 27 2 Jul 8 10:35 mysql-1-ijptl.pid >>>>>>> -rw-rw----. 1 27 27 2 Jul 8 09:48 mysql-1-1soui.pid >>>>>>> drwx------. 2 27 27 4096 Jul 8 09:48 mysql >>>>>>> -rw-rw----. 1 27 27 38797312 Jul 8 09:48 ib_logfile1 >>>>>>> -rw-rw----. 1 27 27 38797312 Jul 8 10:35 ib_logfile0 >>>>>>> -rw-rw----. 1 27 27 12582912 Jul 8 10:35 ibdata1 >>>>>>> -rw-rw----. 1 27 27 56 Jul 8 09:48 auto.cnf >>>>>>> >>>>>>> # ls -ld /exports/wordpress/wp/ >>>>>>> drwxrwxrwx. 2 nfsnobody nfsnobody 26 Jul 7 18:43 >>>>>>> /exports/wordpress/wp/ >>>>>>> >>>>>>> # ls -lr /exports/wordpress/wp/ >>>>>>> total 0 >>>>>>> >>>>>>> $ oc get pods >>>>>>> NAME READY STATUS RESTARTS >>>>>>> AGE >>>>>>> mysql-1-ijptl 1/1 Running 0 >>>>>>> 44m >>>>>>> wordpress-mysql-example-1-1clom 1/1 Running 0 >>>>>>> 41m >>>>>>> wordpress-mysql-example-1-build 0/1 Completed 0 >>>>>>> 44m >>>>>>> >>>>>>> $ oc rsh wordpress-mysql-example-1-1clom >>>>>>> sh-4.2$ pwd >>>>>>> /opt/app-root/src >>>>>>> sh-4.2$ df -h /opt/app-root/src >>>>>>> Filesystem Size Used Avail Use% Mounted on >>>>>>> 192.168.0.9:/exports/wordpress/wp 50G 11G 40G 22% >>>>>>> /opt/app-root/src >>>>>>> sh-4.2$ ls >>>>>>> sh-4.2$ echo "Create file from pod" > teste.txt >>>>>>> >>>>>>> # ls -lr /exports/wordpress/wp/ >>>>>>> total 4 >>>>>>> -rw-r--r--. 1 1001 nfsnobody 21 Jul 8 11:21 teste.txt >>>>>>> >>>>>>> # cat /exports/wordpress/wp/teste.txt >>>>>>> Create file from pod >>>>>>> >>>>>>> $ oc get pvc >>>>>>> NAME STATUS VOLUME CAPACITY ACCESSMODES AGE >>>>>>> claim-mysql Bound nfs-pv007 5Gi RWO 19h >>>>>>> claim-wp Bound nfs-pv008 2Gi RWO,RWX 19h >>>>>>> >>>>>>> $ oc volumes dc --all >>>>>>> deploymentconfigs/mysql >>>>>>> pvc/claim-mysql (allocated 5GiB) as mysql-data >>>>>>> mounted at /var/lib/mysql/data >>>>>>> deploymentconfigs/wordpress-mysql-example >>>>>>> pvc/claim-wp (allocated 2GiB) as wordpress-mysql-example-data >>>>>>> mounted at /opt/app-root/src >>>>>>> >>>>>>> Template >>>>>>> >>>>>>> 172 spec: >>>>>>> {¬ >>>>>>> 173 volumes: >>>>>>> [¬ >>>>>>> 174 >>>>>>> {¬ >>>>>>> 175 name: >>>>>>> ${APP_NAME}-data,¬ >>>>>>> 176 persistentVolumeClaim: >>>>>>> {¬ >>>>>>> 177 claimName: >>>>>>> ${CLAIM_WP_NAME}¬ >>>>>>> 178 >>>>>>> }¬ >>>>>>> 179 >>>>>>> }¬ >>>>>>> 180 >>>>>>> ],¬ >>>>>>> 181 containers: >>>>>>> [¬ >>>>>>> 182 >>>>>>> {¬ >>>>>>> 183 name: >>>>>>> ${APP_NAME},¬ >>>>>>> 184 image: >>>>>>> ${APP_NAME},¬ >>>>>>> 185 ports: >>>>>>> [¬ >>>>>>> 186 >>>>>>> {¬ >>>>>>> 187 containerPort: >>>>>>> 8080,¬ >>>>>>> 188 name: >>>>>>> wp-server¬ >>>>>>> 189 >>>>>>> }¬ >>>>>>> 190 >>>>>>> ],¬ >>>>>>> 191 volumeMounts: >>>>>>> [¬ >>>>>>> 192 >>>>>>> {¬ >>>>>>> 193 name: >>>>>>> ${APP_NAME}-data,¬ >>>>>>> 194 mountPath: >>>>>>> ${WP_PATH}¬ >>>>>>> 195 >>>>>>> }¬ >>>>>>> 196 ],¬ >>>>>>> >>>>>>> >>>>>>> Any help will very appreciate >>>>>>> >>>>>>> Thank you >>>>>>> >>>>>>> [1] >>>>>>> https://github.com/openshift/origin/tree/master/examples/wordpress/ >>>>>>> >>>>>>> Regards >>>>>>> >>>>>>> Robson >>>>>>> >>>>>>> _______________________________________________ >>>>>>> users mailing list >>>>>>> [email protected] >>>>>>> http://lists.openshift.redhat.com/openshiftmm/listinfo/users >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Ben Parees | OpenShift >>>>>> >>>>>> >>>>> >>>> >>>> >>>> -- >>>> Ben Parees | OpenShift >>>> >>>> >>> >> >> >> -- >> Ben Parees | OpenShift >> >> > -- Ben Parees | OpenShift
_______________________________________________ users mailing list [email protected] http://lists.openshift.redhat.com/openshiftmm/listinfo/users
