Closed skapin closed 5 years ago
This is what i have after some trickery (on CRON contenaire) shoudl the VCL be mapped to CRON too ? What is the comportement of the updatenode and which config he is using ?
root@21a7126fcb8e:/var/www/html# /usr/local/bin/php /updatenodes.php
"vcl.inline" "autogenated1563983651" "vcl 4.0;import std;import directors;#AUTOGENERATED_START\n#AUTOGENERATED_ENDacl purge { \"web\";}sub vcl_recv { if (req.method == \"PURGE\") { if (client.ip !~ purge) { return (synth(405, \"Method not allowed\")); } if (!req.http.X-Magento-Tags-Pattern) { return (synth(400, \"X-Magento-Tags-Pattern header required\")); } ban(\"obj.http.X-Magento-Tags ~ \" + req.http.X-Magento-Tags-Pattern); return (synth(200, \"Purged\")); } if (req.method != \"GET\" && req.method != \"HEAD\" && req.method != \"PUT\" && req.method != \"POST\" && req.method != \"TRACE\" && req.method != \"OPTIONS\" && req.method != \"DELETE\") { /* Non-RFC2616 or CONNECT which is weird. */ return (pipe); } # We only deal with GET and HEAD by default if (req.method != \"GET\" && req.method != \"HEAD\") { return (pass); } # Bypass shopping cart and checkout requests if (req.url ~ \"/checkout\") { return (pass); } # normalize url in case of leading HTTP scheme and domain set req.url = regsub(req.url, \"^http[s]?://\", \"\"); # collect all cookies std.collect(req.http.Cookie); # static files are always cacheable. remove SSL flag and cookie if (req.url ~ \"^/(pub/)?(media|static)/.*\\.(ico|css|js|jpg|jpeg|png|gif|tiff|bmp|mp3|ogg|svg|swf|woff|woff2|eot|ttf|otf)$\") { unset req.http.Https; unset req.http.Cookie; } return (hash);}sub vcl_hash { if (req.http.cookie ~ \"X-Magento-Vary=\") { hash_data(regsub(req.http.cookie, \"^.*?X-Magento-Vary=([^;]+);*.*$\", \"\\1\")); }}sub vcl_backend_response { if (beresp.http.content-type ~ \"text\") { set beresp.do_esi = true; } if (bereq.url ~ \"\\.js$\" || beresp.http.content-type ~ \"text\") { set beresp.do_gzip = true; } # cache only successfully responses and 404s if (beresp.status != 200 && beresp.status != 404) { set beresp.ttl = 0s; set beresp.uncacheable = true; return (deliver); } elsif (beresp.http.Cache-Control ~ \"private\") { set beresp.uncacheable = true; set beresp.ttl = 86400s; return (deliver); } if (beresp.http.X-Magento-Debug) { set beresp.http.X-Magento-Cache-Control = beresp.http.Cache-Control; } # validate if we need to cache it and prevent from setting cookie # images, css and js are cacheable by default so we have to remove cookie also if (beresp.ttl > 0s && (bereq.method == \"GET\" || bereq.method == \"HEAD\")) { unset beresp.http.set-cookie; if (bereq.url !~ \"\\.(ico|css|js|jpg|jpeg|png|gif|tiff|bmp|gz|tgz|bz2|tbz|mp3|ogg|svg|swf|woff|woff2|eot|ttf|otf)(\\?|$)\") { set beresp.http.Pragma = \"no-cache\"; set beresp.http.Expires = \"-1\"; set beresp.http.Cache-Control = \"no-store, no-cache, must-revalidate, max-age=0\"; set beresp.grace = 1m; } } return (deliver);}sub vcl_deliver { if (resp.http.X-Magento-Debug) { if (resp.http.x-varnish ~ \" \") { set resp.http.X-Magento-Cache-Debug = \"HIT\"; } else { set resp.http.X-Magento-Cache-Debug = \"MISS\"; } } else { unset resp.http.Age; } unset resp.http.X-Magento-Debug; unset resp.http.X-Magento-Tags; unset resp.http.X-Powered-By; unset resp.http.Server; unset resp.http.X-Varnish; unset resp.http.Via; unset resp.http.Link;}\n\n"
Fatal error: Uncaught Error: Call to undefined method Mage::helper() in /varnish.php:494
Stack trace:
#0 /varnish.php(163): Nexcessnet_Turpentine_Model_Varnish_Admin_Socket->_command('vcl.inline', 200, 'autogenated1563...', 'vcl 4.0;import ...')
#1 /updatenodes.php(78): Nexcessnet_Turpentine_Model_Varnish_Admin_Socket->__call('vcl_inline', Array)
#2 {main}
thrown in /varnish.php on line 494
I've updated the VCL bundled in this project (it was based on varnish4 while the containers are already varnish 5) but I'm not sure why you talk about turpentine, this infrastructure is for M2, not M1
I have foudn out that this stack use your vanish version. You have upgrade to varnish5, which is not handled by the VCL file nor the VARNISH.php script downloaded from turpentile extension.
Furthermore, the turpentine extension (the socker.php renamed varnish.php) now use Mage::getStoreConfig() and ::helper() which is NOT defined by you MAGE class defined in updatenode.php
I'm trying to makes things works again by pooling an old Socket.php(varnish.php) file form turpentine extension