Service 希望重新启动的服务上的Puppet错误

Service 希望重新启动的服务上的Puppet错误,service,configuration,package,puppet,restart,Service,Configuration,Package,Puppet,Restart,我只是尝试建立一个由Puppet管理的新VM。 升级某些软件包时,会弹出以下消息: Setting up libssl1.0.0:amd64 (1.0.1e-2+deb7u12) ... Checking for services that may need to be restarted...done. Checking for services that may need to be restarted...done. Checking init scripts... [1;24r(B)0[

我只是尝试建立一个由Puppet管理的新VM。 升级某些软件包时,会弹出以下消息:

Setting up libssl1.0.0:amd64 (1.0.1e-2+deb7u12) ...
Checking for services that may need to be restarted...done.
Checking for services that may need to be restarted...done.
Checking init scripts...
[1;24r(B)0[m[1;24r
Package configuration┌─────────────────────┤ 
Configuring libssl1.0.0:amd64 ├─────────────────────┐│││ 
There are services installed on your system which need to be restarted    ││ 
when certain libraries, such as libpam, libc, and libssl, are upgraded.   ││
 Since these restarts may cause interruptions of service for the system,   ││ 
you will normally be prompted on each upgrade for the list of services    ││
 you wish to restart.  You can choose this option to avoid being││ prompted; 
instead, all necessary restarts will be done for you││ 
automatically so you can avoid being asked questions on each library││ upgrade.││││
 Restart services during package upgrades without asking?││││
<Yes><No>│││└───────────────────────────────────────────────────────────────────────────┘
Failed to open terminal.debconf: whiptail output the above errors, giving up!
    Setting up libgnutls26:amd64 (2.12.20-8+deb7u2) ...
    dpkg: error processing libssl1.0.0:amd64 (--configure):
     subprocess installed post-installation script returned error exit status 255
    Setting up libkrb5support0:amd64 (1.10.1+dfsg-5+deb7u2) ...
    Setting up libk5crypto3:amd64 (1.10.1+dfsg-5+deb7u2) ...
    Setting up libkrb5-3:amd64 (1.10.1+dfsg-5+deb7u2) ...
    Setting up libgssapi-krb5-2:amd64 (1.10.1+dfsg-5+deb7u2) ...
    Setting up libmagic1:amd64 (5.11-2+deb7u5) ...
    Setting up file (5.11-2+deb7u5) ...
    Setting up libxml2:amd64 (2.8.0+dfsg1-7+wheezy1) ...
    dpkg: dependency problems prevent configuration of libcurl3:amd64:
     libcurl3:amd64 depends on libssl1.0.0 (>= 1.0.1); however:
      Package libssl1.0.0:amd64 is not configured yet.

您如何升级软件包?我们能看到负责的清单吗?为什么你认为这是木偶的问题?不是你的包裹经理?我真的不知道它是从哪里来的。假设它来自Puppet。清单与
libssl
libcurl3
无关。我假设您是通过调用
apt get
aptitude
得到错误的。所以不,这与木偶没有直接关系。你的系统在某种程度上被破坏了。需要一些调试,但StackOverflow的主题不在这里(您可以尝试SuperUser或Linux&Unix)。
    class pricing {

    package { "libatlas-base-dev":
        ensure => "installed" ,
        require => Exec['apt-get update']
    }

    package { "gfortran":
        ensure => "installed" ,
        require => Exec['apt-get update']
    }

    class { 'python':
        version    => '2.7',
        dev        => true,
        virtualenv => true,
        pip => true,
    }

    class { 'postgresql::globals':
        encoding => 'UTF8',
        locale   => 'en_GB.UTF-8',
        manage_package_repo => true,
        version => '9.3',
    }->class { 'postgresql::client':
    }->class { 'postgresql::lib::devel': }


    package {"libffi-dev" : ensure => "present"}
    package {"libxml2-dev" : ensure => "present"}
    package {"libxslt-dev" : ensure => "present"}


    if $pricing_state == "master" {
        package {"rabbitmq-server" :
            ensure => "present",
            require  => Exec['apt-get update'],
        }
    }

    file { '/etc/boto.cfg':
      source => 'puppet:///modules/pricing/boto.cfg',
    }

    file { "/pricing/logs/":
            ensure => directory,
            mode => 777,
            owner   => "celery",
            group   => "celery",
    }
    file { "/pricing/logs/pricing.logs":
            ensure => file,
            mode => 777,
            owner   => "celery",
            group   => "celery",
    }

    user { "celery":
            ensure => present,
            comment => "celery",
            membership => minimum,
            shell => "/bin/bash",
            home => "/home/$name",
            managehome => true,
    }

    exec { "import-gpg-dotdeb":
      command => "/usr/bin/wget -q http://www.dotdeb.org/dotdeb.gpg -O -| /usr/bin/apt-key add -"
    }

    apt::source { 'dotdeb':
      location    => 'http://packages.dotdeb.org',
      release     => 'wheezy',
      repos       => 'all',
      require => [Exec['import-gpg-dotdeb']]
    }

    class { 'redis':
      package_ensure => 'latest',
      conf_port => '6379',
      conf_bind => '0.0.0.0',
      system_sysctl => true,
      conf_requirepass => '3I53G3944G9ngZC',
      require => [Apt::Source['dotdeb']]
    }

    if $pricing_state == "master" {
        if $env_small == "prod" {
            include supervisord
            supervisord::program { 'pricing':
                  ensure      => present,
                  command     => '/pricing/bin/python getprices.py',
                  user        => 'root',
                  directory   => '/pricing/',
                  numprocs => 1,
                  autorestart => 'true',
                  require => Python::Virtualenv['/pricing']
            }

            supervisord::program { 'listen_newprices':
                   ensure      => absent,
                   command     => '/pricing/bin/python listen_newprices.py',
                   user        => 'root',
                   directory   => '/pricing/',
                   numprocs => 1,
                   autorestart => 'true',
                   require => Python::Virtualenv['/pricing']
             }

            supervisord::program { 'getprixvente':
                  ensure      => present,
                  command     => '/pricing/bin/python getprixvente.py',
                  user        => 'root',
                  directory   => '/pricing/',
                  numprocs => 1,
                  autorestart => 'true',
                  require => Python::Virtualenv['/pricing']
            }

            supervisord::program { 'getprixachat':
                  ensure      => present,
                  command     => '/pricing/bin/python getprixachat.py',
                  user        => 'root',
                  directory   => '/pricing/',
                  numprocs => 1,
                  autorestart => 'true',
                  require => Python::Virtualenv['/pricing']
            }

            supervisord::program { 'flower':
                  ensure      => present,
                  command     => '/pricing/bin/celery flower --port=5555 --basic_auth=celery:celery69 --broker=amqp://celery:2xF09Ad050Ct7yb@127.0.0.1:5672//',
                  user        => 'root',
                  directory   => '/pricing/',
                  numprocs => 1,
                  autorestart => 'true',
                  require => Python::Virtualenv['/pricing']
            }
            exec { 'restart pricing':
              command => 'supervisorctl restart pricing',
              path   => '/usr/bin:/usr/sbin:/bin:/usr/local/bin/',
              require => Supervisord::Program['pricing']
            }
            exec { 'restart getprixvente':
              command => 'supervisorctl restart getprixvente',
              path   => '/usr/bin:/usr/sbin:/bin:/usr/local/bin/',
              require => Supervisord::Program['getprixvente']
            }
            exec { 'restart getprixachat':
              command => 'supervisorctl restart getprixachat',
              path   => '/usr/bin:/usr/sbin:/bin:/usr/local/bin/',
              require => Supervisord::Program['getprixachat']
            }
        }
    }

    if $pricing_state == "slave" {

        file { "/etc/init.d/celeryd":
            ensure => file,
            content => template('pricing/celeryd_init.erb'),
            mode => 700,
            owner   => "root",
            group   => "root",
        }

        file { "/etc/default/celeryd":
                ensure => file,
                content => template('pricing/celeryd.erb'),
                mode => 640,
                owner   => "root",
                group   => "root",
        }

        service { 'celeryd':
            name      => celeryd,
            ensure    => running,
            enable    => true,
            subscribe => File['/etc/default/celeryd'],
            require    => [
                File['/etc/default/celeryd'],
                File['/etc/init.d/celeryd'],
                User['celery'],
                Python::Virtualenv['/pricing'],
            ],
        }
        exec { 'restart celeryd':
          command => 'service celeryd restart',
          path   => '/usr/bin:/usr/sbin:/bin:/usr/local/bin/',
          require => Service['celeryd'],
        }

        logrotate::rule { 'celerydslavelogs':
          path         => '/var/log/celery/*.log',
          size          => '100k',
          rotate       => 5,
        }

    }

    logrotate::rule { 'celerydlogs':
      path         => '/pricing/logs/*.log',
      size          => '100k',
      rotate       => 5,
    }


    python::virtualenv { '/pricing':
        ensure => present,
        version => '2.7',
        requirements => '/puppet/modules/pricing/files/requirements.txt',
        owner => $user,
        group => $user,
        cwd => '/pricing',
        timeout => 36000,
        require    => [
            Class['postgresql::client', 'postgresql::lib::devel', 'python'],
            Package['libatlas-base-dev', 'gfortran'],
            Package['libffi-dev'],
            Package['libxml2-dev'],
            Package['libxslt-dev'],
            Class['postgresql::client', 'postgresql::lib::devel', 'python'],
        ],
    }

}