Now that we no longer support py27, we can use the standard library
unittest.mock module instead of the third party mock lib.
Co-Authored-By: Alex Schultz <aschultz@redhat.com>
Change-Id: I642a46b31586f2791c510645f475effd52ce304e
The client utils will now run a new playbook to ensure that the local
archive directory is created early in the deployment process. This
change will allow us to build toward a swift-less deployment. All of
the client calls, save one, has been moved to use tripleo-common which
will assist us to better manage, and migrate from swift storage to a
local archive.
> As a product of this change all of the "webhook" calls have been
removed. which was deprecated as part of the Zaqar and Mistral work.
These calls were removed because several swift calls were tied into
them, and because mistral is no longer part of the stack, and has
been gone for a few cycles, we can safely remove these calls which
do nothing.
Depends-On: Ibe9b2ffe94cdf493fc84366979d1d78b8528ea1b
Change-Id: I7531612a49527f8a21df415c648acb41ac7a0b10
Signed-off-by: Kevin Carter <kecarter@redhat.com>
The CA certificatge was hardcoded. This was not the right thing to do,
since we do have the ability to provide our own cert for TripleO.
python-openstackclient already has a way for us to know what certificate
was used. This is provided via the OS_CACERT environment variable (or
the --os-cacert command line argument). So we use this instead.
Change-Id: Ib7b3860378fce2cda7f80c1ad8b8dd14a4b22581
Closes-Bug: #1817634
Serializing all the execution in a message can make the message too big.
This change was done in tripleo-common. this supports that change
This change still supports the old format and is backwards compatible.
Partial-Bug: #1812172
Change-Id: I40ee028366222f38f5ba1db58d171f98be75d009
When creating zaqar websocket client, if the endpoint has tls enabled
provide the CA to the client.
Closes-Bug: 1791970
Change-Id: I09fca4ea80ae8246f136ea6998dfc7ad1c6bb4d2
Currently, tripleoclient will ignore messages from workflows if they
don't match the execution ID of the worflow it starts. This can happen
if the workflow starts sub-workflows, which run under their own
execution ID. tripleoclient will also stop listening for messages after
it recieves the first message from the workflow it started. Meaning, it
assumes the workflow to send one, and only one, message.
This change tackles the first limitation, by turning the message
consumption into a generator which yields each message one at a time.
It then starts a convention of assuming the workflow has finished if it
recieves a message with the top level execution ID and it contains a
status that isn't "RUNNING". For example: {"status": "SUCCESS"}.
Partial-Bug: #1646887
Change-Id: Ida07718b4fab41e0a6088f2db8f9b42b6fb09f72
Give the user some additional information when Zaqar is down. Also,
move the websocket import to the third-party import list.
Change-Id: I8d4caf2ba08bceba1f014555ccd6ae3ca1a4a6c0
Closes-Bug: #1619712
tripleoclient WebsocketClient used a private auth attribute. This
switches it to a more public api.
Change-Id: Ib6a3ad21b9d770dad943b6e567cfbea8402cc84f
Closes-Bug: #1605876
The socket is bound to the queue name and this this removes the
ability to work with multiple queues and if the websocket it
closed it can't be easily recreated.
Change-Id: I6d05b9536111a77a54b818dcf1a9d030ad464e7f
This also adds the ability to use the websocket client as a
context manager which simplifies the requirement of calling
cleanup.
Co-Authored-By: Dougal Matthews <dougal@redhat.com>
Change-Id: I80ce73a4fdf6d1f12495960f2c4bf460f1875e4e
Updates the plugin ClientManager so that we support creating
a websocket authenticated with Zaqar so that actions can
interact with Zaqar queues.
Co-Authored-By: Thomas Herve <therve@redhat.com>
Co-Authored-By: Dougal Matthews <dougal@redhat.com>
Depends on external: https://review.rdoproject.org/r/#/c/1289
Partially-implements: blueprint remote-execution
Change-Id: Idf522b3d4193776a5b6626cef28336820257d4e7
Use the OSC-compatible orchestration client instead of the home-grown
one. This reduces duplicate code, and relies on more thoroughly tested
code elsewhere.
Change-Id: Ib77d20086f86a260197c6f289fd9c270b766544c
Depends-On: I7aa0fd7c152ee91b6e2b956f7e594f8c8aacafa7
The Ironic client now supports the OSC plugin interface directly, so
this wrapper is no longer needed. Removing it will allow us to specify
which Ironic API version to use via the standard mechanisms.
Change-Id: If92855c307ecd389fbe6050e426d0ced959a9665
Depends-On: Icdbd28c487351af6d67205837aa536aedb31b41a