简体   繁体   中英

PuPHPet build error - invalid option: --manifestdir

I am giving PuPHPet a go, so created an archive using all the basic options.
When trying vagrant up I get the error:

==> machine1: Error: Could not parse application options: invalid option: --manifestdir

A little bit of investigation points to the problem being with puppet V5 not longer supports manifest_dir option.
The suggested fix is to update the config to use environments and set environment and environments_path in config.

Can anyone throw some light on where in the config.yaml these need to be set?
Also where in the PuPHPet directory structure the environment folder needs to live?

The config.yaml that I am using;

vagrantfile:
    target: local
    vm:
        provider:
            local:
                box: bento/ubuntu-16.04
                box_url: 'false'
                box_version: '0'
                chosen_virtualizer: virtualbox
                virtualizers:
                    virtualbox:
                        modifyvm:
                            natdnshostresolver1: false
                        showgui: 0
                    vmware:
                        numvcpus: 1
                    parallels:
                        linked_clone: 0
                        check_guest_tools: 0
                        update_guest_tools: 0
                machines:
                    vflm_k8bgkk2q1t9z:
                        id: machine1
                        hostname: machine1.puphpet
                        network:
                            private_network: 192.168.56.101
                            forwarded_port:
                                vflmnfp_yru3n3tlfqio:
                                    host: '9419'
                                    guest: '22'
                        memory: '512'
                        cpus: '1'
        provision:
            puppet:
                manifests_path: puphpet/puppet/manifests
                module_path:
                    - puphpet/puppet/modules
                    - puphpet/puppet/manifests
                options:
                    - '--verbose'
                    - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
        synced_folder:
            vflsf_lvspa9n8sfn3:
                owner: www-data
                group: www-data
                source: ./
                target: /var/www
                sync_type: default
                smb:
                    smb_host: ''
                    smb_username: ''
                    smb_password: ''
                    mount_options:
                        dir_mode: '0775'
                        file_mode: '0664'
                rsync:
                    args:
                        - '--verbose'
                        - '--archive'
                        - '-z'
                    exclude:
                        - .vagrant/
                        - .git/
                    auto: 'true'
        usable_port_range:
            start: 10200
            stop: 10500
        post_up_message: ''
    ssh:
        host: 'false'
        port: 'false'
        private_key_path: 'false'
        username: vagrant
        guest_port: 'false'
        keep_alive: '1'
        forward_agent: 'false'
        forward_x11: 'false'
        shell: 'bash -l'
        insert_key: 'false'
    vagrant:
        host: detect
    proxy:
        http: ''
        https: ''
        ftp: ''
        no_proxy: ''
server:
    install: '1'
    packages:
        - bash-completion
        - htop
        - vim
users_groups:
    install: '1'
    groups: {  }
    users: {  }
locale:
    install: '1'
    settings:
        default_locale: en_US.UTF-8
        locales:
            - en_GB.UTF-8
            - en_US.UTF-8
        timezone: UTC
firewall:
    install: '1'
    rules: {  }
resolv:
    install: '1'
    nameservers:
        - 8.8.8.8
        - 8.8.4.4
    domainname: ''
    searchpath: {  }
cron:
    install: '1'
    jobs: {  }
nginx:
    install: '0'
    settings:
        version: present
        default_vhost: 1
        proxy_buffers: '4 256k'
        proxy_buffer_size: 128k
        proxy_connect_timeout: 600s
        proxy_send_timeout: 600s
        proxy_read_timeout: 600s
        names_hash_bucket_size: 128
    upstreams: {  }
    vhosts:
        nxv_9iotkb0epf2c:
            server_name: awesome.dev
            server_aliases:
                - www.awesome.dev
            www_root: /var/www/awesome
            listen_port: '80'
            client_max_body_size: 1m
            ssl: '0'
            locations:
                nxvl_jjk47mtl0r5o:
                    www_root: /var/www/awesome/web
                    location: /
                    autoindex: 'off'
                    internal: 'false'
                    index_files:
                        - index.html
                        - index.php
                        - app.php
                    try_files:
                        - $uri
                        - $uri/
                        - /index.php$is_args$args
                        - /app.php$is_args$args
                    fastcgi: ''
                    fastcgi_index: ''
                    fastcgi_split_path: ''
                    proxy: ''
                    proxy_redirect: ''
                nxvl_8j0icnvn334t:
                    www_root: /var/www/awesome/web
                    location: '~ ^/(app_dev|config)\.php(/|$)'
                    autoindex: 'off'
                    internal: 'false'
                    try_files:
                        - $uri
                        - $uri/
                        - /app_dev.php$is_args$args
                    fastcgi: '127.0.0.1:9000'
                    fastcgi_index: app_dev.php
                    fastcgi_split_path: '^(.+\.php)(/.*)$'
                    fast_cgi_params_extra:
                        - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
                        - 'APP_ENV dev'
                    set:
                        - '$path_info $fastcgi_path_info'
                    proxy: ''
                    proxy_redirect: ''
                nxvl_fan1klxugnqt:
                    www_root: /var/www/awesome/web
                    location: '~ ^/index\.php(/|$)'
                    autoindex: 'off'
                    internal: 'false'
                    try_files:
                        - $uri
                        - $uri/
                        - /index.php$is_args$args
                    fastcgi: '127.0.0.1:9000'
                    fastcgi_index: index.php
                    fastcgi_split_path: '^(.+\.php)(/.*)$'
                    fast_cgi_params_extra:
                        - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
                    set:
                        - '$path_info $fastcgi_path_info'
                    proxy: ''
                    proxy_redirect: ''
                nxvl_5grri35wy80b:
                    www_root: /var/www/awesome/web
                    location: '~ ^/app\.php(/|$)'
                    autoindex: 'off'
                    internal: 'false'
                    try_files:
                        - $uri
                        - $uri/
                        - /app.php$is_args$args
                    fastcgi: '127.0.0.1:9000'
                    fastcgi_index: app.php
                    fastcgi_split_path: '^(.+\.php)(/.*)$'
                    fast_cgi_params_extra:
                        - 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
                        - 'APP_ENV prod'
                    set:
                        - '$path_info $fastcgi_path_info'
                    proxy: ''
                    proxy_redirect: ''
    proxies: {  }
apache:
    install: '1'
    settings:
        version: 2.4
        user: www-data
        group: www-data
        default_vhost: true
        manage_user: false
        manage_group: false
        sendfile: 0
    modules:
        - proxy_fcgi
        - rewrite
    vhosts:
        av_2bg7c7vda1pb:
            servername: awesome.dev
            serveraliases:
                - www.awesome.dev
            docroot: /var/www/awesome/web
            port: '80'
            setenvif:
                - 'Authorization "(.*)" HTTP_AUTHORIZATION=$1'
            custom_fragment: ''
            ssl: '0'
            ssl_cert: LETSENCRYPT
            ssl_key: LETSENCRYPT
            ssl_chain: LETSENCRYPT
            ssl_certs_dir: LETSENCRYPT
            ssl_protocol: ''
            ssl_cipher: ''
            directories:
                avd_ayxmp8ol7nqw:
                    path: /var/www/awesome/web
                    directoryindex: 'index.php app.dev'
                    options:
                        - Indexes
                        - FollowSymlinks
                        - MultiViews
                    allow_override:
                        - All
                    require:
                        - 'all granted'
                    custom_fragment: ''
                    provider: directory
            files_match:
                avfm_5mduocupch06:
                    path: (app_dev|config)\.php$
                    sethandler: 'proxy:fcgi://127.0.0.1:9000'
                    setenv:
                        - 'APP_ENV dev'
                    custom_fragment: ''
                    provider: filesmatch
                avfm_h7xbhb0zqsoq:
                    path: app\.php$
                    sethandler: 'proxy:fcgi://127.0.0.1:9000'
                    setenv:
                        - 'APP_ENV prod'
                    custom_fragment: ''
                    provider: filesmatch
                avfm_bgd9dcbawlo8:
                    path: \.php$
                    sethandler: 'proxy:fcgi://127.0.0.1:9000'
                    custom_fragment: ''
                    provider: filesmatch
letsencrypt:
    install: '1'
    settings:
        email: ''
        webserver_service: ''
    domains: {  }
php:
    install: '1'
    settings:
        version: '7.2'
    modules:
        php:
            - cli
            - intl
            - xml
        pear: {  }
        pecl: {  }
    ini:
        display_errors: 'On'
        error_reporting: '-1'
        session.save_path: /var/lib/php/session
        date.timezone: UTC
    fpm_ini:
        error_log: /var/log/php-fpm.log
    fpm_pools:
        phpfp_kk90qv3if70v:
            ini:
                prefix: www
                listen: '127.0.0.1:9000'
                security.limit_extensions: .php
                user: www-user
                group: www-data
    composer: '1'
    composer_home: ''
xdebug:
    install: '0'
    settings:
        xdebug.default_enable: '1'
        xdebug.remote_autostart: '0'
        xdebug.remote_connect_back: '1'
        xdebug.remote_enable: '1'
        xdebug.remote_handler: dbgp
        xdebug.remote_port: '9000'
blackfire:
    install: '0'
    settings:
        server_id: ''
        server_token: ''
        agent:
            http_proxy: ''
            https_proxy: ''
            log_file: stderr
            log_level: '1'
        php:
            agent_timeout: '0.25'
            log_file: ''
            log_level: '1'
xhprof:
    install: '0'
wpcli:
    install: '0'
    version: v1.1.0
drush:
    install: '0'
    version: 8.0.5
ruby:
    install: '1'
    versions:
        rv_45pl5r1olefv:
            default: '1'
            bundler: '1'
            version: '2.4'
            gems:
                - deep_merge@1.2.1
                - activesupport@5.1.4
                - vine@0.4
python:
    install: '1'
    packages: {  }
    versions: {  }
nodejs:
    install: '0'
    settings:
        version: '6'
    npm_packages: {  }
mariadb:
    install: '0'
    settings:
        version: '10.1'
        root_password: '123'
        override_options: {  }
    users:
        mariadbnu_lxzy8vptfdcv:
            name: dbuser
            password: '123'
    databases:
        mariadbnd_vch18hn8fy7h:
            name: dbname
            sql: ''
    grants:
        mariadbng_dkhxul0k78c2:
            user: dbuser
            table: '*.*'
            privileges:
                - ALL
mysql:
    install: '1'
    settings:
        version: '5.7'
        root_password: '123'
        override_options: {  }
    users:
        mysqlnu_rew8wtlnfqjm:
            name: dbuser
            password: '123'
    databases:
        mysqlnd_xmr4nhv1e4ki:
            name: dbname
            sql: ''
    grants:
        mysqlng_eg463msh1guu:
            user: dbuser
            table: '*.*'
            privileges:
                - ALL
postgresql:
    install: '0'
    settings:
        global:
            encoding: UTF8
            version: '9.6'
        server:
            postgres_password: '123'
    databases: {  }
    users: {  }
    grants: {  }
mongodb:
    install: '0'
    settings:
        bind_ip: 127.0.0.1
        port: '27017'
    globals:
        version: 3.6.2
    databases: {  }
redis:
    install: '0'
    settings:
        port: '6379'
sqlite:
    install: '0'
    databases: {  }
mailhog:
    install: '0'
    settings:
        smtp_ip: 0.0.0.0
        smtp_port: 1025
        http_ip: 0.0.0.0
        http_port: '8025'
        path: /usr/local/bin/mailhog
beanstalkd:
    install: '0'
    settings:
        listenaddress: 0.0.0.0
        listenport: '11300'
        maxjobsize: '65535'
        maxconnections: '1024'
        binlogdir: /var/lib/beanstalkd/binlog
        binlogfsync: null
        binlogsize: '10485760'
    beanstalk_console: 0
rabbitmq:
    install: '0'
    settings:
        port: '5672'
    users: {  }
    vhosts: {  }
    plugins: {  }
elastic_search:
    install: '0'
    settings:
        version: 6.1.2
        java_install: true
    instances:
        esi_qgdjc41v6s8n:
            name: es-01
            jvm_options:
                - '-Xms2G'
                - '-Xmx2G'

Step 1:

Open puphpet/vagrant/Vagrantfile-local

Step 2:

Find this line of code:

puppet.manifests_path = "#{data['vm']['provision']['puppet']['manifests_path']}"

Step 3:

Insert these two lines of code before the line of code previously mentioned in step 2

puppet.environment_path = "#{data['vm']['provision']['puppet']['environment_path']}"
puppet.environment      = "#{data['vm']['provision']['puppet']['environment']}"

It should look like this now:

Vagrantfile本地


Step 4:

open puphpet/config.yaml

Step 5:

Find this line of code:

manifests_path: puphpet/puppet/manifests

Step 6:

Insert these two lines of code before the line of code previously mentioned in step 5

environment_path: puphpet/puppet/environments
environment: development

It should look like this now:

在此处输入图片说明

Step 7:

Go to puphpet/puppet directory and create a new directory and name it environments and inside the environments directory, create another directory and name it development

The structure should look like the one below: 在此处输入图片说明

And you're done!!!

But make sure to run vagrant provision to load the new configuration.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM