← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1747434] Re: caught SIGTERM, shutting down on juju update hook.

 

Reported in the charm launchpad, sorry for the noise.

** Changed in: horizon
       Status: Incomplete => Invalid

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1747434

Title:
  caught SIGTERM, shutting down on juju update hook.

Status in OpenStack Dashboard (Horizon):
  Invalid

Bug description:
  On a mitaka openstack deployment where dashboard is deployed on HA, every juju update hook
  I can read the following output on /var/log/apache2/error.log:

  [Mon Feb 05 12:21:57.599471 2018] [core:notice] [pid 45036:tid 140322761824128] AH00094: Command line: '/usr/sbin/apache2'
  [Mon Feb 05 12:27:15.038971 2018] [mpm_event:notice] [pid 45036:tid 140322761824128] AH00491: caught SIGTERM, shutting down
  [Mon Feb 05 12:27:16.133030 2018] [ssl:warn] [pid 1116:tid 139686050834304] AH01909: juju-baab69-29-lxd-2.maas:433:0 server certificate does NOT include an ID which matches the server name
  [Mon Feb 05 12:27:16.149425 2018] [ssl:warn] [pid 1117:tid 139686050834304] AH01909: juju-baab69-29-lxd-2.maas:433:0 server certificate does NOT include an ID which matches the server name
  [Mon Feb 05 12:27:16.151705 2018] [mpm_event:notice] [pid 1117:tid 139686050834304] AH00489: Apache/2.4.10 (Ubuntu) OpenSSL/1.0.1f mod_wsgi/3.4 Python/2.7.6 configured -- resuming normal operations
  [Mon Feb 05 12:27:16.151729 2018] [core:notice] [pid 1117:tid 139686050834304] AH00094: Command line: '/usr/sbin/apache2'
  [Mon Feb 05 12:31:49.834311 2018] [mpm_event:notice] [pid 1117:tid 139686050834304] AH00491: caught SIGTERM, shutting down
  [Mon Feb 05 12:31:50.931838 2018] [ssl:warn] [pid 6030:tid 139668206278528] AH01909: juju-baab69-29-lxd-2.maas:433:0 server certificate does NOT include an ID which matches the server name
  [Mon Feb 05 12:31:50.947896 2018] [ssl:warn] [pid 6031:tid 139668206278528] AH01909: juju-baab69-29-lxd-2.maas:433:0 server certificate does NOT include an ID which matches the server name
  [Mon Feb 05 12:31:50.950319 2018] [mpm_event:notice] [pid 6031:tid 139668206278528] AH00489: Apache/2.4.10 (Ubuntu) OpenSSL/1.0.1f mod_wsgi/3.4 Python/2.7.6 configured -- resuming normal operations
  [Mon Feb 05 12:31:50.950349 2018] [core:notice] [pid 6031:tid 139668206278528] AH00094: Command line: '/usr/sbin/apache2'
  [Mon Feb 05 12:37:45.785726 2018] [mpm_event:notice] [pid 6031:tid 139668206278528] AH00491: caught SIGTERM, shutting down
  [Mon Feb 05 12:37:46.882574 2018] [ssl:warn] [pid 11545:tid 140014746675072] AH01909: juju-baab69-29-lxd-2.maas:433:0 server certificate does NOT include an ID which matches the server name
  [Mon Feb 05 12:37:46.898069 2018] [ssl:warn] [pid 11546:tid 140014746675072] AH01909: juju-baab69-29-lxd-2.maas:433:0 server certificate does NOT include an ID which matches the server name
  [Mon Feb 05 12:37:46.900170 2018] [mpm_event:notice] [pid 11546:tid 140014746675072] AH00489: Apache/2.4.10 (Ubuntu) OpenSSL/1.0.1f mod_wsgi/3.4 Python/2.7.6 configured -- resuming normal operations
  [Mon Feb 05 12:37:46.900195 2018] [core:notice] [pid 11546:tid 140014746675072] AH00094: Command line: '/usr/sbin/apache2'
  [Mon Feb 05 12:43:00.907437 2018] [mpm_event:notice] [pid 11546:tid 140014746675072] AH00491: caught SIGTERM, shutting down
  [Mon Feb 05 12:43:02.002314 2018] [ssl:warn] [pid 16737:tid 140561918715776] AH01909: juju-baab69-29-lxd-2.maas:433:0 server certificate does NOT include an ID which matches the server name
  [Mon Feb 05 12:43:02.017202 2018] [ssl:warn] [pid 16738:tid 140561918715776] AH01909: juju-baab69-29-lxd-2.maas:433:0 server certificate does NOT include an ID which matches the server name
  [Mon Feb 05 12:43:02.019455 2018] [mpm_event:notice] [pid 16738:tid 140561918715776] AH00489: Apache/2.4.10 (Ubuntu) OpenSSL/1.0.1f mod_wsgi/3.4 Python/2.7.6 configured -- resuming normal operations
  [Mon Feb 05 12:43:02.019479 2018] [core:notice] [pid 16738:tid 140561918715776] AH00094: Command line: '/usr/sbin/apache2'

  Also, but not all the update hooks, it's possible to see the following
  output:

  [Mon Feb 05 13:08:32.034604 2018] [:error] [pid 34010] [remote 100.86.0.145:54985] mod_wsgi (pid=34010): Exception occurred processing WSGI script '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi'.
  [Mon Feb 05 13:08:32.034682 2018] [:error] [pid 34010] [remote 100.86.0.145:54985] IOError: failed to write data

  The configuration looks like:

  $ juju config openstack-dashboard
  application: openstack-dashboard
  charm: openstack-dashboard
  settings:
    action-managed-upgrade:
      default: true
      description: |
        If True enables openstack upgrades for this charm via juju actions.
        You will still need to set openstack-origin to the new repository but
        instead of an upgrade running automatically across all units, it will
        wait for you to execute the openstack-upgrade action for this charm on
        each unit. If False it will revert to existing behavior of upgrading
        all units on config change.
      type: boolean
      value: false
    cinder-backup:
      description: Enable cinder backup panel.
      type: boolean
      value: true
    customization-module:
      default: true
      description: |
        Module that overriding layout for customization.
        This is available from Liberty
      type: string
      value: ""
    database:
      default: true
      description: Database name for Horizon (if enabled)
      type: string
      value: horizon
    database-user:
      default: true
      description: Username for Horizon database access (if enabled)
      type: string
      value: horizon
    debug:
      description: Show Django debug messages.
      type: string
      value: "false"
    default-role:
      default: true
      description: |
        Default role for Horizon operations that will be created in
        Keystone upon introduction of an identity-service relation.
      type: string
      value: Member
    default-theme:
      default: true
      description: |
        Specify path to theme to use
        (relative to /usr/share/openstack-dashboard/openstack_dashboard/themes/).
        NOTE: This setting is supported when deploying OpenStack Liberty or
        newer. This setting and ubuntu-theme setting are mutually exclusive.
      type: string
    dns-ha:
      default: true
      description: |
        Use DNS HA with MAAS 2.0. Note if this is set do not set vip
        settings below.
      type: boolean
      value: false
    endpoint-type:
      description: |
        Specifies the endpoint types to use for endpoints in the Keystone
        service catalog. Valid values are 'publicURL', 'internalURL',
        and 'adminURL'. Both the primary and secondary endpoint types can
        be specified by providing multiple comma delimited values.
      type: string
      value: publicURL
    enforce-ssl:
      default: true
      description: |
        If True, redirects plain http requests to https port 443. For this option
        to have an effect, SSL must be configured.
      type: boolean
      value: false
    ha-bindiface:
      default: true
      description: |
        Default network interface on which HA cluster will bind to communication
        with the other members of the HA Cluster.
      type: string
      value: ethX
    ha-mcastport:
      default: true
      description: |
        Default multicast port number that will be used to communicate between
        HA Cluster nodes.
      type: int
      value: 5410
    haproxy-client-timeout:
      default: true
      description: |
        Client timeout configuration in ms for haproxy, used in HA
        configurations. If not provided, default value of 30000ms is used.
      type: int
    haproxy-connect-timeout:
      default: true
      description: |
        Connect timeout configuration in ms for haproxy, used in HA
        configurations. If not provided, default value of 5000ms is used.
      type: int
    haproxy-queue-timeout:
      default: true
      description: |
        Queue timeout configuration in ms for haproxy, used in HA
        configurations. If not provided, default value of 5000ms is used.
      type: int
    haproxy-server-timeout:
      default: true
      description: |
        Server timeout configuration in ms for haproxy, used in HA
        configurations. If not provided, default value of 30000ms is used.
      type: int
    harden:
      description: |
        Apply system hardening. Supports a space-delimited list of modules
        to run. Supported modules currently include os, ssh, apache and mysql.
      type: string
      value: apache
    nagios_check_http_params:
      default: true
      description: Parameters to pass to the nrpe plugin check_http.
      type: string
      value: -H localhost -I 127.0.0.1 -u '/' -e 200,301,302
    nagios_context:
      default: true
      description: |
        Used by the nrpe-external-master subordinate charm.
        A string that will be prepended to instance name to set the host name
        in nagios. So for instance the hostname would be something like:
        .
          juju-postgresql-0
        .
        If you're running multiple environments with the same services in them
        this allows you to differentiate between them.
      type: string
      value: juju
    nagios_servicegroups:
      default: true
      description: |
        A comma-separated list of nagios servicegroups. If left empty, the
        nagios_context will be used as the servicegroup.
      type: string
      value: ""
    neutron-network-dvr:
      default: true
      description: |
        Enable Neutron distributed virtual router (DVR) feature in the
        Router panel.
      type: boolean
      value: false
    neutron-network-firewall:
      default: true
      description: Enable neutron firewall service panel.
      type: boolean
      value: false
    neutron-network-l3ha:
      default: true
      description: |
        Enable HA (High Availability) mode in Neutron virtual router in
        the Router panel.
      type: boolean
      value: false
    neutron-network-lb:
      default: true
      description: Enable neutron load balancer service panel.
      type: boolean
      value: false
    neutron-network-vpn:
      default: true
      description: Enable neutron vpn service panel.
      type: boolean
      value: false
    offline-compression:
      default: true
      description: Use pre-generated Less compiled JS and CSS.
      type: string
      value: "yes"
    openstack-origin:
      description: |
        Repository from which to install.  May be one of the following:
        distro (default), ppa:somecustom/ppa, a deb url sources entry,
        or a supported Cloud Archive release pocket.

        Supported Cloud Archive sources include:

        cloud:<series>-<openstack-release>
        cloud:<series>-<openstack-release>/updates
        cloud:<series>-<openstack-release>/staging
        cloud:<series>-<openstack-release>/proposed

        For series=Precise we support cloud archives for openstack-release:
           * icehouse

        For series=Trusty we support cloud archives for openstack-release:
           * juno
           * kilo
           * ...

        NOTE: updating this setting to a source that is known to provide
        a later version of OpenStack will trigger a software upgrade.
      type: string
      value: cloud:trusty-mitaka/updates
    openstack-origin-git:
      default: true
      description: |
        Specifies a default OpenStack release name, or a YAML dictionary
        listing the git repositories to install from.

        The default Openstack release name may be one of the following, where
        the corresponding OpenStack github branch will be used:
          * liberty
          * mitaka
          * newton
          * master

        The YAML must minimally include requirements and horizon repositories,
        and may also include repositories for other dependencies:
          repositories:
          - {name: requirements,
             repository: 'git://github.com/openstack/requirements',
             branch: master}
          - {name: horizon,
             repository: 'git://github.com/openstack/horizon',
             branch: master}
          release: master
      type: string
    os-admin-hostname:
      default: true
      description: |
        The hostname or address of the admin endpoints created for
        openstack-dashboard.

        This value will be used for admin endpoints. For example, an
        os-admin-hostname set to 'horizon.admin.example.com' with will create
        the following admin endpoint for the swift-proxy:

        https://horizon.admin.example.com/horizon
      type: string
    os-admin-network:
      description: |
        The IP address and netmask of the OpenStack Admin network (e.g., 192.168.0.0/24).
        This network will be used for admin endpoints.
      type: string
      value: X.X.X.X/Y
    os-internal-hostname:
      default: true
      description: |
        The hostname or address of the internal endpoints created for
        openstack-dashboard.

        This value will be used for internal endpoints. For example, an
        os-internal-hostname set to 'horizon.internal.example.com' with will
        create the following internal endpoint for the swift-proxy:

        https://horizon.internal.example.com/horizon
      type: string
    os-internal-network:
      default: true
      description: |
        The IP address and netmask of the OpenStack Internal network (e.g., 192.168.0.0/24).
        This network will be used for internal endpoints.
      type: string
    os-public-hostname:
      default: true
      description: |
        The hostname or address of the public endpoints created for
        openstack-dashboard.

        This value will be used for public endpoints. For example, an
        os-public-hostname set to 'horizon.example.com' with will create
        the following public endpoint for the swift-proxy:

        https://horizon.example.com/horizon
      type: string
    os-public-network:
      default: true
      description: |
        The IP address and netmask of the OpenStack Public network (e.g., 192.168.0.0/24).
        This network will be used for public endpoints.
      type: string
    password-retrieve:
      description: Enable "Retrieve password" instance action.
      type: boolean
      value: true
    prefer-ipv6:
      default: true
      description: |
        If True enables IPv6 support. The charm will expect network
        interfaces to be configured with an IPv6 address. If set to False
        (default) IPv4 is expected.
        .
        NOTE: these charms do not currently support IPv6 privacy extension.
        In order for this charm to function correctly, the privacy extension
        must be disabled and a non-temporary address must be
        configured/available on your network interface.
      type: boolean
      value: false
    profile:
      default: true
      description: Default profile for the dashboard. Eg. cisco.
      type: string
    secret:
      description: |
        Secret for Horizon to use when securing internal data; set this when
        using multiple dashboard units.
      type: string
      value: <valid_secret>
    ssl_ca:
      description: |
        Base64-encoded certificate authority. This CA is used in conjunction
        with keystone https endpoints and must, therefore, be the same CA
        used by any endpoint configured as https/ssl.
      type: string
      value: |-
        <my_key_here>
    ssl_cert:
      description: |
        Base64-encoded SSL certificate to install and use for Horizon.

         juju set openstack-dashbaord ssl_cert="$(cat cert| base64)" \
                                      ssl_key="$(cat key| base64)"
      type: string
      value: |-
        <my_key_here>
    ssl_key:
      description: |
        Base64-encoded SSL key to use with certificate specified as ssl_cert.
      type: string
      value: |-
        <my_key_here>
    ubuntu-theme:
      default: true
      description: Use Ubuntu theme for the dashboard.
      type: string
      value: "yes"
    use-syslog:
      description: |
        Setting this to True will allow supporting services to log to syslog.
      type: boolean
      value: true
    vip:
      description: |
        Virtual IP to use to front openstack dashboard ha configuration.
      type: string
      value: X.X.X.X
    vip_cidr:
      default: true
      description: |
        Default CIDR netmask to use for HA vip when it cannot be automatically
        determined.
      type: int
      value: 24
    vip_iface:
      default: true
      description: |
        Default network interface to use for HA vip when it cannot be
        automatically determined.
      type: string
      value: ethY
    webroot:
      description: |
        Directory where application will be accessible, relative to
        http://$hostname/.
      type: string
      value: /

  Any tip what can be producing this continuous restart is appreciated.

  Thanks!

  José.

To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1747434/+subscriptions


References