The networking API v2 specification, which is implemented by
openstack neutron, features an optional MTU parameter - when
creating a network, this allows operators to specify the value
for the maximum transmission unit value.
Change-Id: I288f02551555fff3e8b350fc6d7c6ae8f60c405c
Added a new property, 'port_security_enabled' which is a boolean to
enable or disable port_secuirty during network creation. The default
behavior will enable port security, security group and anti spoofing
will act as before. When the attribute is set to False, security
group and anti spoofing are disabled on the ports created on this
network.
Change-Id: If984a82ca5f6fb69ee644f4fa84333df09d7f8bc
We try to calculate len for data, which breaks with chunked uploads, but
we only use that with filename. Move the code so that we don't try to
calculate length of things where we don't need to.
We still need to figure out streaming uploads and large objects.
This changes several unit tests due to the re-ordering of when
get_object_segment_size gets called. It's not necessary to call it for
the data path, so it was moved to later, which puts it after the
container create. For data paths this results in one less call. For file
paths, the calls are the same but the /info call happens later.
Change-Id: I841d7049ff2f05e00a31fecbc27dda6a0007be16
This change allows a Resource to negotiate the highest microversion
supported by both the client (openstacksdk) and the server. It is
done by overriding Class._max_microversion to a non-None value.
The microversion used to load or update a Resource is stored on it
as the "microversion" attribute.
Change-Id: I78703bece7c1a3898e4a5b60cd7c2912cf4b5595
This class was referenced (several times) from the configuration
documentation, but not included in the docs.
Change-Id: Ib8a075713694fb0e52c730624fbe01d8964c6903
It should be None, which allows the client to wait until the server
side timeout. True is probably cast to 1, which is incorrect.
Change-Id: I6ae42b44b5460fed5291584576bb9eb7bcdfecb4
create_object currently only accepts data in files. That's not awesome
for some usecases, such as creating 0-byte 'directory' nodes. Add a data
parameter so that data can be passed in.
Change-Id: I35e08d7b1a4fd6ded822edeba9e62a1390a6c4e8
Checksums are calculated and added to the object's metadata as a way
to prevent double-uploading identical copies of large data. For some
use cases, such as uploading log files, there is no risk of that and
there is no point to paying the calculation cost.
Change-Id: I7b3c94b72e99f9abd3c961bd811da6fd563144bb
OpenStackSDK used 'attached' as a filter for listing floating IPs,
but this is not a supported parameter in neutron. In before, the test
passed because neutron server ignored this parameter and returned
all the floating IPs. However, neutron is planing to employ a strict
validation on the list endpoint [1]. As a result, neutron will reject
the request with 400 response if the request contains unknown filter.
This patch fixes the usage of neutron API. It passes filters to neutron
API only if they are known supported filters. The list of supported
filters for listing floating IPs can be found in the neutron API
reference [2].
[1] https://review.openstack.org/#/c/574907/
[2] https://developer.openstack.org/api-ref/network/v2/#id130
Depends-On: I124adfc5e9cdd5bc20aacf23f9dcc10c55b0870b
Change-Id: I47eac210bd0364166647345ff14ea0c49ef4e9e3
The auth_url change deserves a release note, and the why of it is
actually interesting information for people.
Change-Id: I0ec28a4f25593ce1ebcb7254780b41685944bd3b
v3password skips discovery, so v3password with unversioned endpoint
produces incorrect results. We could go to password, but then people
won't get clear errors if they leave out domain info.
Change-Id: Ia070ebafb608aec6a85a38feb746113f72c58eec
Openstacksdk is extended with a signature generation functionality.
This adds cryptography to the requirements and lower constraints.
Change-Id: Idc15b9a12d408bd4b2e096da8402c374be56f9fa
Story: 2002128
Co-Authored-By: Markus Hentsch <markus.hentsch@secustack.com>
This change adds set_provision_state and wait_for_provision_state
to openstack.baremetal.v1.Node, as well as set_node_provision_state
to the bare metal Proxy. Also adds wait_for_nodes_provision_state,
which is similar to Node.wait_for_provision_state but handles several
nodes at the same time, which is important for bulk operations.
The cloud's node_set_provision_state was updated to use the new calls.
As a nice side effect, it now supports all provision states and actions
up to the Queens release, as well as does proper microversioning.
Some documentation was written for the bare metal proxy.
Change-Id: I22a76c3623f4dd2cca0b2103cbd8b853d5cebb71
We want to run ansible tests against some public cloud, but
there are always some API policy limits for regular users in
public cloud, like: can not create external network. So we define
some variables that can be changed for different limit scenairoes.
1. Create port in external or internal network.
2. Specified public pool name when launching server.
3. Create simple router, then add interface and external gateway,
change test step order, so that do not create external network
when network_external=false.
4. Create subnet with enable_dhcp true or false.
5. Make ANSIBLE_VAR_* environment variables can be passed into virtual
env.
Change-Id: I69473756b23a6cb525e0f9bb40d09e6ed9880782
When a floating IP is associated to the network port of a server with a
fixed IP that doesn't belong to the server,
`_get_supplemental_addresses()` throws a `KeyError`.
While it's most likely a misconfiguration of the floating IP, we should
handle that situation gracefully.
Change-Id: I8093ce58dd22b901521803e878536ab4fa03141f
Task: 22974
Scheduler hints need to be specified at the top level of the JSON being
submitted to the API, i.e.
```
{
"server": {...},
"os:scheduler_hints": {...}
}
```
instead of
```
{
"server": {
"os:scheduler_hints": {...}
}
}
```
Change-Id: I19b5736b87e4b323bb957bd247b45e87bf3e8227
Task: 22955
This patch is adding a utility method `wait_for_load_balancer` that can
be used either in user's application or the ansible module.
Story: 2002924
Task: 22907
Change-Id: I68daeb44d9206892078e8d199b076b2f93234241
python-openstackclient uses this on the command line - and has to go
through a bunch of shenanigans to get it processed correct. Just do it
ourselves from the get-go so that we can just remove the stress from
osc.
Change-Id: I25ce459eb38ec246260e1792035f26d46729c920