[Openstack] [Ceilometer] Example "create alarm" via REST API-- Thanks !! issue fixed

m.channappa.negalur at accenture.com m.channappa.negalur at accenture.com
Fri Apr 4 06:35:09 UTC 2014


Hi Eoghan,

Thanks a lot for the help , Finally I have fixed the issue and now I am able generate the alarm status to "ok "
 And "alarm"

Regards,
Malleshi CN


-----Original Message-----
From: Channappa Negalur, M.
Sent: Thursday, April 03, 2014 6:05 PM
To: 'Eoghan Glynn'
Cc: 'malleshicn at gmail.com'
Subject: RE: [Openstack] [Ceilometer] Example "create alarm" via REST API

Hi Eoghan,

Thanks I fixed the issue of mongodb..

One more thing to bring to your notice is that in my template if I set "repeat_actions": "True"    or "true" my instance will not launch , because of below error. If I not set "repeat actions" I am able to launch stack.  Through command line I am able to set repeat actions to "True" and my alarm state is showing "ok" ..

==> ceilometer-api.log <==
2014-04-03 09:48:54.616 27760 ERROR wsme.api [-] Server-side error: "repeat_actions: Wrong type. Expected '<type 'bool'>', got '<type 'str'>'". Detail:
Traceback (most recent call last):

  File "/usr/lib/python2.7/dist-packages/wsmeext/pecan.py", line 68, in callfunction
    pecan.request.body, pecan.request.content_type

  File "/usr/lib/python2.7/dist-packages/wsme/rest/args.py", line 271, in get_args
    from_body = args_from_body(funcdef, body, mimetype)

  File "/usr/lib/python2.7/dist-packages/wsme/rest/args.py", line 218, in args_from_body
    body, datatypes, bodyarg=funcdef.body_type is not None

  File "/usr/lib/python2.7/dist-packages/wsme/rest/json.py", line 215, in parse
    kw = {argname: fromjson(datatypes[argname], jdata)}

  File "/usr/lib/python2.7/dist-packages/simplegeneric.py", line 63, in dispatch
    return f(*args, **kw)

  File "/usr/lib/python2.7/dist-packages/wsme/rest/json.py", line 139, in fromjson
    fromjson(attrdef.datatype, value[attrdef.name]))

  File "/usr/lib/python2.7/dist-packages/wsme/types.py", line 345, in __set__
    raise ValueError("%s: %s" % (self.name, e))

ValueError: repeat_actions: Wrong type. Expected '<type 'bool'>', got '<type 'str'>'



-----Original Message-----
From: Eoghan Glynn [mailto:eglynn at redhat.com]
Sent: Thursday, April 03, 2014 3:26 PM
To: Channappa Negalur, M.
Subject: Re: [Openstack] [Ceilometer] Example "create alarm" via REST API




----- Original Message -----
> Hi
>
> Regarding your answer:
> Your other issue below is a restriction of the sqlalchemy storage
> driver in Havana, which doesn't support queries based on resource
> metadata, thus can not be used with anything that requires such
> queries (such as the Horizon metering dashboard or Heat autoscaling).
> This restriction on the sqla backend has been addressed in Icehouse.
>
> You can get around this issue by either (a) switching over to the
> mongodb backend or (b) upgrading to Icehouse.
>
>
> I am using mongodb in backend ......

I don't think you are.

See the stack trace below, the sqlalchemy driver is clearly being used:

>   "/usr/lib/python2.7/dist-packages/ceilometer/storage/impl_sqlalchemy.py",
>   line 137, in make_query_from_filter
>     raise NotImplementedError(_('metaquery not implemented'))

Check your config, on the host where the ceilometer-api service is running:

  $ grep 'connection *=' /etc/ceilometer/ceilometer.conf

>
>
>
> -----Original Message-----
> From: Eoghan Glynn [mailto:eglynn at redhat.com]
> Sent: Thursday, April 03, 2014 3:18 PM
> To: Channappa Negalur, M.
> Cc: malleshicn at gmail.com
> Subject: Re: [Openstack] [Ceilometer] Example "create alarm" via REST
> API
>
>
>
> ----- Original Message -----
> > Hello Eoghan,
> >
> > Thanks for your reply .. sorry for bothering again
> >
> > As per ypu , I have changed the parameterts to
> >
> > "period": "60",
> >   "evaluation_periods": "3",
> >
> > In pipeline.yaml to  (controller)
> >
> > name: meter_pipeline
> >     interval: 600
> >     meters:
> >         - "*"
> >     transformers:
> >     publishers:
> >         - rpc://
> > - name: cpu_pipeline
> >     interval: 50
>
> Better for the period to be an integer multiple of the interval (e.g.
> both set to 60s).
>
> Your other issue below is a restriction of the sqlalchemy storage
> driver in Havana, which doesn't support queries based on resource
> metadata, thus can not be used with anything that requires such
> queries (such as the Horizon metering dashboard or Heat autoscaling).
> This restriction on the sqla backend has been addressed in Icehouse.
>
> You can get around this issue by either (a) switching over to the
> mongodb backend or (b) upgrading to Icehouse.
>
> Cheers,
> Eoghan
>
>
>
> >     meters:
> >         - "cpu"
> >     transformers
> >
> >
> > Pipeline.yaml (In compute node)
> >
> > name: meter_pipeline
> >     interval: 600
> >     meters:
> >         - "*"
> >     transformers:
> >     publishers:
> >         - rpc://
> > -
> >     name: cpu_pipeline
> >     interval: 50
> >     meters:
> >         - "cpu"
> >     transformers:
> >
> > Also getting below errors , for which fix is released , but fix is a
> > package ???? if yes please provide me the repository link
> >
> > ==> ceilometer-alarm-evaluator.log <==
> > 2014-04-03 06:52:30.361 25062 WARNING ceilometerclient.common.http
> > [-] Request returned failure status.
> > 2014-04-03 06:52:30.361 25062 ERROR
> > ceilometer.alarm.evaluator.threshold [-] alarm stats retrieval
> > failed
> > 2014-04-03 06:52:30.361 25062 TRACE
> > ceilometer.alarm.evaluator.threshold
> > raise exc.from_response(resp)
> > 2014-04-03 06:52:30.361 25062 TRACE
> > ceilometer.alarm.evaluator.threshold
> > HTTPInternalServerError: HTTPInternalServerError (HTTP 500)
> > 2014-04-03 06:52:30.361 25062 TRACE
> > ceilometer.alarm.evaluator.threshold
> >
> > ==> ceilometer-api.log <==
> > 2014-04-03 06:53:30.448 25214 ERROR wsme.api [-] Server-side error:
> > "metaquery not implemented". Detail:
> > Traceback (most recent call last):
> >
> >   File "/usr/lib/python2.7/dist-packages/wsmeext/pecan.py", line 72, in
> >   callfunction
> >     result = f(self, *args, **kwargs)
> >
> >   File "/usr/lib/python2.7/dist-packages/ceilometer/api/controllers/v2.py",
> >   line 813, in statistics
> >     for c in computed]
> >
> >   File
> >   "/usr/lib/python2.7/dist-packages/ceilometer/storage/impl_sqlalchemy.py",
> >   line 561, in get_meter_statistics
> >     query = self._make_stats_query(sample_filter, groupby)
> >
> >   File
> >   "/usr/lib/python2.7/dist-packages/ceilometer/storage/impl_sqlalchemy.py",
> >   line 512, in _make_stats_query
> >     return make_query_from_filter(query, sample_filter)
> >
> >   File
> >   "/usr/lib/python2.7/dist-packages/ceilometer/storage/impl_sqlalchemy.py",
> >   line 137, in make_query_from_filter
> >     raise NotImplementedError(_('metaquery not implemented'))
> >
> > NotImplementedError: metaquery not implemented
> >
> > Regards,
> > Malleshi CN
> > -----Original Message-----
> > From: Eoghan Glynn [mailto:eglynn at redhat.com]
> > Sent: Wednesday, April 02, 2014 6:57 PM
> > To: Channappa Negalur, M.
> > Cc: malleshicn at gmail.com
> > Subject: Re: [Openstack] [Ceilometer] Example "create alarm" via
> > REST API
> >
> >
> > Note in the alarm resource:
> >
> >   "period": "10",
> >   "evaluation_periods": "1",
> >
> > this causes the alarm to be evaluated over a sliding time window
> > extending over the preceding 10 seconds.
> >
> > There will not be data available unless you're also gathering
> > metrics at that *very rapid* cadence.
> >
> > Check this via:
> >
> >   $ grep -A1 cpu_pipeline /etc/ceilometer/pipeline.yaml | grep
> > interval
> >
> > The default out-of-the-box is 600s. The alarm period should be an
> > integer multiple (i.e. 1 or more) of the configured interval. So
> > either set the reset interval (and restart compute agent) or change
> > the alarm period if necessary.
> >
> > /Eoghan
> >
> >
> > ----- Original Message -----
> > > Hello Eoghan,
> > >
> > > Now I am getting below output
> > >
> > > root at Tcontroller:/home/oss# ceilometer statistics -m cpu_util -q
> > > resource=d47f6ee1-9a50-4e79-a769-13adfee217c7
> > > +--------+---------------------+---------------------+-------+------+----------------+---------------+----------------+----------+---------------------+---------------------+
> > > | Period | Period Start        | Period End          | Count | Min  | Max
> > > | | Sum           | Avg            | Duration | Duration Start
> > > | | Duration End        |
> > > +--------+---------------------+---------------------+-------+------+----------------+---------------+----------------+----------+---------------------+---------------------+
> > > | 0      | 2014-04-02T04:47:14 | 2014-04-02T04:50:14 | 4     | 0.45 |
> > > | 0.833333333333 | 2.56666666667 | 0.641666666667 | 180.0    |
> > > | 2014-04-02T04:47:14 | 2014-04-02T04:50:14 |
> > > +--------+---------------------+---------------------+-------+------+----------------+---------------+----------------+----------+---------------------+---------------------+
> > > root at Tcontroller:/home/oss#
> > >
> > >
> > > "WebSG" : {
> > >       "Type" : "AWS::AutoScaling::AutoScalingGroup",
> > >       "Properties" : {
> > >         "AvailabilityZones" : { "Fn::GetAZs" : ""},
> > >         "LaunchConfigurationName" : { "Ref" : "LaunchConfig" },
> > >         "MinSize" : "1",
> > >         "MaxSize" : "3",
> > >         "VPCZoneIdentifier" : [ "69b3ddd9-b092-4361-b541-4f171c736a9d" ]
> > >       }
> > >     },
> > >
> > >
> > > "WebServerScaleUpPolicy" : {
> > >       "Type" : "AWS::AutoScaling::ScalingPolicy",
> > >       "Properties" : {
> > >         "AdjustmentType" : "ChangeInCapacity",
> > >         "AutoScalingGroupName" : { "Ref" : "WebSG" },
> > >         "Cooldown" : "60",
> > >         "ScalingAdjustment" : "1"
> > >       }
> > >     },
> > >
> > > "WebServerScaleDownPolicy" : {
> > >       "Type" : "AWS::AutoScaling::ScalingPolicy",
> > >       "Properties" : {
> > >         "AdjustmentType" : "ChangeInCapacity",
> > >         "AutoScalingGroupName" : { "Ref" : "WebSG" },
> > >         "Cooldown" : "60",
> > >         "ScalingAdjustment" : "-1"
> > >       }
> > >     },
> > >
> > > "CPUAlarmHigh": {
> > >      "Type": "OS::Ceilometer::Alarm",
> > >      "Properties": {
> > >         "description": "Scale-up if cpu_util > 50% for 1 minute",
> > >         "meter_name": "cpu_util",
> > >         "statistic": "avg",
> > >         "period": "10",
> > >         "evaluation_periods": "1",
> > >         "threshold": "0.5",
> > >         "comparison_operator" : "gt",
> > >         "alarm_actions": [ {
> > >         "Fn::GetAtt":["WebServerScaleUpPolicy","AlarmUrl"]} ],
> > >         "matching_metadata": {"metadata.user_metadata.server_group":
> > >         "WebSG"}
> > >       }
> > > },
> > >
> > > "CPUAlarmLow": {
> > >      "Type": "OS::Ceilometer::Alarm",
> > >      "Properties": {
> > >         "description": "Scale-up if cpu_util < 15% for 1 minute",
> > >         "meter_name": "cpu_util",
> > >         "statistic": "avg",
> > >         "period": "10",
> > >         "evaluation_periods": "1",
> > >         "threshold": "0.1",
> > >          "comparison_operator" : "lt",
> > >         "alarm_actions": [{
> > >         "Fn::GetAtt":["WebServerScaleDownPolicy","AlarmUrl"]}],
> > >         "matching_metadata": {"metadata.user_metadata.server_group":
> > >         "WebSG"}
> > >         }
> > >      },
> > >
> > >
> > >
> > > -----------------------------+----------------------------------+----------------------------------+
> > > | Name                         | Description
> > > | |
> > > | State             | Enabled | Continuous | Alarm ID
> > > | | User ID                          | Project
> > > | ID                       |
> > > +------------------------------+-----------------------------------------+-------------------+---------+------------+--------------------------------------+----------------------------------+----------------------------------+
> > > | m3-CPUAlarmHigh-u3itxg34v3z4 | Scale-up if cpu_util > 50% for 1
> > > | minute
> > > | |
> > > | insufficient data | True    | False      |
> > > | bcc839d1-cdfa-4601-ab6f-6f7c0b1937a2 |
> > > | 2371a648e9fc415b8e9601e7acd503d8 |
> > > | 536518d5b38d4f3e9dcab26403d4d6e8 | m3-CPUAlarmLow-n4osznusghhb
> > > | | Scale-up if cpu_util < 15% for 1 minute |
> > > | insufficient data | True    | False      |
> > > | f6b7509d-7db6-4668-9b41-9a9a3050223c |
> > > | 2371a648e9fc415b8e9601e7acd503d8 |
> > > | 536518d5b38d4f3e9dcab26403d4d6e8 |
> > > +------------------------------+-----------------------------------------+-------------------+---------+------------+--------------------------------------+----------------------------------+----------------------------------+
> > > root at Tcontroller:/home/oss#
> > >
> > > still I am getting insufficient data .. no autoscaling ..
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Channappa Negalur, M.
> > > Sent: Tuesday, April 01, 2014 6:50 PM
> > > To: 'Eoghan Glynn'
> > > Cc: mavlcek at cisco.com; openstack at lists.openstack.org
> > > Subject: RE: [Openstack] [Ceilometer] Example "create alarm" via
> > > REST API
> > >
> > > Hello Eoghan,
> > >
> > > Please find the details,
> > >
> > > 1. What version are you using?
> > >
> > > root at Tcontroller:/var/log/heat# dpkg --list | grep -i ceilometer
> > > ii  ceilometer-agent-central         2013.2-0ubuntu1~cloud0
> > > ceilometer central agent
> > > ii  ceilometer-api                   2013.2-0ubuntu1~cloud0
> > > ceilometer api service
> > > ii  ceilometer-collector             2013.2-0ubuntu1~cloud0
> > > ceilometer collector service
> > > ii  ceilometer-common                2013.2-0ubuntu1~cloud0
> > > ceilometer common files
> > > ii  python-ceilometer                2013.2-0ubuntu1~cloud0
> > > ceilometer python libraries
> > > ii  python-ceilometerclient          1.0.5-0ubuntu1~cloud0
> > > Client library for Openstack ceilometer server.
> > >
> > > root at Tcontroller:/var/log/heat# cat /etc/issue Ubuntu 12.04.3 LTS
> > > \n \l
> > > ==================================================================
> > > == == ============== 2.  $ ceilometer statistics -m cpu_util -q
> > > resource=$INSTANCE_ID
> > >
> > > root at Tcontroller:/var/log/heat# nova list
> > > +--------------------------------------+--------------------------------------------+--------+------------+-------------+-----------------------------------------+
> > > | ID                                   | Name
> > > | | Status | Task State | Power State
> > > | | Networks                                |
> > > +--------------------------------------+--------------------------------------------+--------+------------+-------------+-----------------------------------------+
> > > | 8c020529-19c9-4aba-8503-a515bfec342e |
> > > | m1-WebSG-bchzbkobf632-WebSG-0-yui6jp43bbmb | ACTIVE | None       |
> > > | Running
> > > | | net_proj_one=50.50.x.x                 |
> > > | c45fcc9b-f362-4086-a08c-dd7d0c762380 |
> > > | teststack-WikiDatabase-uehgllv7kmsh
> > > | | ACTIVE | None       | Running     | net_proj_one=50.50.x.x,|
> > > +--------------------------------------+--------------------------------------------+--------+------------+-------------+-----------------------------------------+
> > >
> > > root at Tcontroller:/var/log/heat# ceilometer statistics -m cpu_util
> > > -q resource=8c020529-19c9-4aba-8503-a515bfec342e
> > >
> > > root at Tcontroller:/var/log/heat# ceilometer statistics -m cpu_util
> > > -q resource=8c020529-19c9-4aba-8503-a515bfec342e
> > >
> > > ==================================================================
> > > ==
> > > ==
> > > ==================================
> > > root at Tcontroller:/var/log/heat#
> > >
> > > -----Original Message-----
> > > From: Eoghan Glynn [mailto:eglynn at redhat.com]
> > > Sent: Friday, March 28, 2014 5:03 PM
> > > To: Channappa Negalur, M.
> > > Cc: mavlcek at cisco.com; openstack at lists.openstack.org
> > > Subject: Re: [Openstack] [Ceilometer] Example "create alarm" via
> > > REST API
> > >
> > >
> > > > Hello Eoghan,
> > > >
> > > > Thanks for the steps..
> > > >
> > > > when I launched my stack(autoscaling), Alarms are created but
> > > > not generating, showing insufficient data. In the log I found
> > > > below error
> > > >
> > > > I have found something from my log .
> > > >
> > > > ==> ceilometer-collector.log <==
> > > >  2014-03-25 05:40:56.308 1047 ERROR stevedore.extension [-]
> > > > error calling
> > > >  'port': 'tenant_id'
> > > >  2014-03-25 05:40:56.308 1047 ERROR stevedore.extension [-] 'tenant_id'
> > > >  2014-03-25 05:40:56.308 1047 TRACE stevedore.extension
> > > > Traceback (most  recent call last):
> > > >  2014-03-25 05:40:56.308 1047 TRACE stevedore.extension File
> > > > "/usr/lib/python2.7/dist-packages/stevedore/extension.py", line
> > > > 145, in  _invoke_one_plugin
> > > >  2014-03-25 05:40:56.308 1047 TRACE stevedore.extension
> > > > response_callback(func(e, *args, **kwds))
> > > >  2014-03-25 05:40:56.308 1047 TRACE stevedore.extension File
> > > > "/usr/lib/python2.7/dist-packages/ceilometer/collector/service.py"
> > > > , line  293, in _process_notification_for_ext
> > > >  2014-03-25 05:40:56.308 1047 TRACE stevedore.extension
> > > >  p(list(ext.obj.to_samples(notification)))
> > > >  2014-03-25 05:40:56.308 1047 TRACE stevedore.extension File
> > > > "/usr/lib/python2.7/dist-packages/ceilometer/network/notifications.py"
> > > > ,
> > > >  line 89, in process_notification
> > > >  2014-03-25 05:40:56.308 1047 TRACE stevedore.extension
> > > > project_id=message['payload']['tenant_id'],
> > > >  2014-03-25 05:40:56.308 1047 TRACE stevedore.extension KeyError:
> > > >  'tenant_id'
> > > >  2014-03-25 05:40:56.308 1047 TRACE stevedore.extension
> > >
> > >
> > > What version are you using?
> > >
> > > That's an issue with incoming neutron notification, shouldn't
> > > impact on cpu_util gathering.
> > >
> > > Do you have visibility on the stats related to the instance? e.g.
> > >
> > >   $ ceilometer statistics -m cpu_util -q resource=$INSTANCE_ID
> > >
> > > /Eoghan
> > >
> > >
> > > > refer:
> > > >  https://bugs.launchpad.net/ceilometer/+bug/1276761
> > > >
> > > > I am not sure its a bug or I am doing something wrong ..?
> > > >
> > > > Please let me know
> > > >
> > > > -----Original Message-----
> > > > From: Eoghan Glynn [mailto:eglynn at redhat.com]
> > > > Sent: Friday, March 28, 2014 3:31 PM
> > > > To: Mark Vlcek (mavlcek)
> > > > Cc: openstack
> > > > Subject: Re: [Openstack] [Ceilometer] Example "create alarm" via
> > > > REST API
> > > >
> > > >
> > > >
> > > > > Hi All,
> > > > >
> > > > > Can somebody give me an example of how I’d create an alarm via
> > > > > the Telemetry (aka Ceilometer) REST API? I can’t for the life
> > > > > of me find a simple example online, say for example, how to
> > > > > set an alarm for when cpu_util > 80% for a given running instance.
> > > >
> > > > See this little RDO getting-started guide I wrote a while back:
> > > >
> > > >   http://openstack.redhat.com/CeilometerQuickStart
> > > >
> > > > there's an example therein of creating an alarm via the CLI:
> > > >
> > > >   $ ceilometer alarm-threshold-create --name cpu_high --description
> > > >   'instance
> > > >   running hot'  \
> > > >       --meter-name cpu_util  --threshold 70.0 --comparison-operator gt
> > > >       --statistic avg \
> > > >       --period 600 --evaluation-periods 3 \
> > > >       --alarm-action 'log://' \
> > > >       --query resource_id=INSTANCE_ID
> > > >
> > > > Just modify the period, evaluation-periods, threshold to suit
> > > > your use-case.
> > > >
> > > > To see the actual JSON payload, simply use the --debug option:
> > > >
> > > >   $ ceilometer --debug alarm-threshold-create ...
> > > >   ...
> > > >   curl -i -X POST -H 'X-Auth-Token: TOKEN' -H 'Content-Type:
> > > >   application/json' -H 'Accept: application/json' -H 'User-Agent:
> > > >   python-ceilometerclient' -d '{"alarm_actions": ["log://"],
> > > >   "description":
> > > >   "instance running hot", "threshold_rule": {"meter_name": "cpu_util",
> > > >   "evaluation_periods": 3, "period": 600, "statistic": "avg",
> > > >   "threshold":
> > > >   70.0, "query": [{"field": "resource_id", "type": "", "value":
> > > >   "INSTANCE_ID", "op": "eq"}], "comparison_operator": "gt"},
> > > >   "repeat_actions": false, "type": "threshold", "name": "cpu_high"}'
> > > >   http://IP_ADDR:8777/v2/alarms
> > > >
> > > > You could also look at the official project API docco here:
> > > >
> > > >   http://docs.openstack.org/developer/ceilometer/webapi/v2.html
> > > >
> > > > Cheers,
> > > > Eoghan
> > > >
> > > >
> > > > >
> > > > > I saw this example in a presentation somewhere, but it’s not
> > > > > exactly self-explanatory.
> > > > >
> > > > > POST /v2/alarms
> > > > >
> > > > > {
> > > > > "alarm_actions": [
> > > > > "http://site:8000/alarm"
> > > > > ],
> > > > > "insufficient_data_actions": [ "http://site:8000/nodata"
> > > > > ],
> > > > > "ok_actions": [
> > > > > "http://site:8000/ok"
> > > > > ],
> > > > > "comparison_operator": "gt",
> > > > > "description": "An alarm",
> > > > > "evaluation_periods": 2,
> > > > > "matching_metadata": {
> > > > > "key_name": "key_value"
> > > > > },
> > > > > "meter_name": "storage.objects",
> > > > > "name": "SwiftObjectAlarm",
> > > > > "period": 240,
> > > > > "statistic": "avg",
> > > > > "threshold": 200
> > > > > }
> > > > >
> > > > > Thanks,
> > > > > Mark
> > > > >
> > > > > _______________________________________________
> > > > > Mailing list:
> > > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> > > > > Post to     : openstack at lists.openstack.org
> > > > > Unsubscribe :
> > > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> > > > >
> > > >
> > > > _______________________________________________
> > > > Mailing list:
> > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> > > > Post to     : openstack at lists.openstack.org
> > > > Unsubscribe :
> > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> > > >
> > > > ________________________________
> > > >
> > > > This message is for the designated recipient only and may
> > > > contain privileged, proprietary, or otherwise confidential
> > > > information. If you have received it in error, please notify the
> > > > sender immediately and delete the original. Any other use of the
> > > > e-mail by you is prohibited.
> > > > Where allowed by local law, electronic communications with
> > > > Accenture and its affiliates, including e-mail and instant
> > > > messaging (including content), may be scanned by our systems for
> > > > the purposes of information security and assessment of internal
> > > > compliance with Accenture policy.
> > > > ________________________________________________________________
> > > > __
> > > > __
> > > > __
> > > > ________________
> > > >
> > > > www.accenture.com
> > > >
> > >
> > >
> > > ________________________________
> > >
> > > This message is for the designated recipient only and may contain
> > > privileged, proprietary, or otherwise confidential information. If
> > > you have received it in error, please notify the sender
> > > immediately and delete the original. Any other use of the e-mail
> > > by you is prohibited.
> > > Where allowed by local law, electronic communications with
> > > Accenture and its affiliates, including e-mail and instant
> > > messaging (including content), may be scanned by our systems for
> > > the purposes of information security and assessment of internal
> > > compliance with Accenture policy.
> > > __________________________________________________________________
> > > __
> > > __
> > > ________________
> > >
> > > www.accenture.com
> > >
> >
> >
> > ________________________________
> >
> > This message is for the designated recipient only and may contain
> > privileged, proprietary, or otherwise confidential information. If
> > you have received it in error, please notify the sender immediately
> > and delete the original. Any other use of the e-mail by you is prohibited.
> > Where allowed by local law, electronic communications with Accenture
> > and its affiliates, including e-mail and instant messaging
> > (including content), may be scanned by our systems for the purposes
> > of information security and assessment of internal compliance with
> > Accenture policy.
> > ____________________________________________________________________
> > __
> > ________________
> >
> > www.accenture.com
> >
>
>
> ________________________________
>
> This message is for the designated recipient only and may contain
> privileged, proprietary, or otherwise confidential information. If you
> have received it in error, please notify the sender immediately and
> delete the original. Any other use of the e-mail by you is prohibited.
> Where allowed by local law, electronic communications with Accenture
> and its affiliates, including e-mail and instant messaging (including
> content), may be scanned by our systems for the purposes of
> information security and assessment of internal compliance with Accenture policy.
> ______________________________________________________________________
> ________________
>
> www.accenture.com
>


________________________________

This message is for the designated recipient only and may contain privileged, proprietary, or otherwise confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security and assessment of internal compliance with Accenture policy.
______________________________________________________________________________________

www.accenture.com


More information about the Openstack mailing list