According to [1], "auth_uri" has been deprecated.
This patch replace it by using "www_authenticate_uri" instead.
[1] https://review.openstack.org/#/c/508522
Change-Id: I3242394fd4ebfa7eda390be872372a53b5311a46
when two clients come for functions where check_default_vpc
is present then one goes to create default vpc and other fails.
it fails because vpc with is_default flag is already in DB
but children objects (like subnets) are not yet created.
For we will lock check_default_vpc function.
Another way is to rework _create_vpc. It can create VPC
without is_default flag. And at the end it can set the flag.
First thread will pass this. And second thread will fail at flag set
operation and will revert all created object. Then second thread
can check presence of default VPC again.
This way is better cause it can work across several controllers.
Change-Id: I5586fa234257b72721e328a9fa2375a56d1553c2
update OpenStackClient user role list command to role assignment list
remove check if ec2api user has any role
add service role
fix keystone_ec2_tokens_url
Change-Id: Id340fadc81102a56c7f943db0dfe47cead341ab8
if configured adds the resulting metadata tree to the cache and
upon next request retrieves the data from the cache
reduces the time of the second and subsequent sequential requests
to the metadata approximately from 2.5 seconds to 0.1
Change-Id: Ia1408f6ef407eb97db1789b5b60d6b36b162ba4d
removed NovaEngine in addresses, availability_zones, instances, security_groups
removed unit tests for NovaEngine
disabled some unit tests using NovaEngine for further reworking
Closes-bug: #1691484
Change-Id: I662d5b57b9e46be80c1d2093038ada83897565eb
do not use keystone_url in keystone_ec2_tokens_url definition.
configure these two urls independently.
Change-Id: I78c54c26820dfd7b52bf7cec81fa4ca0174a9eb6
The README mentions that install.sh allows setting
custom port(other than 8788 default) to start ec2api
on but upon looking, there wasnt any option. This patch
adds the option to allow user to set a different port
prior to installation using install.sh script.
also the options defined in devstack plugin but
it isnt being set in ec2api.conf.
Change-Id: I440b69fafb5555a7a9f4d1e27b1f811d2a3ecc29
1. sample.conf has been deleted but install.sh used it.
just create empty file instead copying sample config.
2. neutron client has been changed to openstack client
for detecting external network
3. fix options group for rabbit options
Change-Id: Ia158c03b055e8c6ff208841e58fb5c581631bb06
Since keystone CLI is deprecated, install script should use openstack
CLI to do not scare users by a lot of warnings.
Change-Id: I9220cbd1255e808e46b6f88c96a8016002cbfe27
The installation by pip do not deeply scan requirements. For example it
allows
SQLAlchemy==1.0.5
sqlalchemy-migrate==0.9.6
for requirements
SQLAlchemy>=0.9.7,<1.1.0
sqlalchemy-migrate>=0.9.6
despite sqlalchemy-migreate v0.9.6 requires SQLAlchemy<=0.9.99.
The installation by direct call of setup.py downgrades installed
packages of DefStack installation, which may lead to problems.
Since DevStack uses pip to install packages, ec2api should install
packages by the same manner.
Change-Id: Ie2c977be69d83595f65ddb9a03fbdb6f8f3c8db8
Copy S3 server implmenetation and unit tests from Nova.
Add fileutils from oslo-incubator and refresh incubation modules.
Upgrade script doesn't copy buckets content because Nova S3 server
is not intended to be permanent full functionality object storage, but
has to be used temporary to CreateImage operation only.
Change-Id: I7d38b0a8e014dfff8238e7134d837d1074e4dd95
Important features:
- Nova client with microversion support is required.
- Nova API server may not support microversion 2.3 (not tested).
- Attaching volumes are not displayed in an instance bdm. Because Cinder
volume doesn't yet contain attachment info (which contains a device
name), and Nova instance volumes_attached doesn't contain a device name
(mountpoint). But a bdm must contain it.
Other features:
- v2.3 is requested always
- RunInstance result is formatted w/o extra v2.3 info, so it doesn't
contain rootDeviceName and other such info
- if rootDeviceName property is empty it's omitted instead of
to report fake /dev/sda1 as Nova EC2 does it. This leads to omit
rootDeviceType property in this case as well.
Also the same is done for corresponding image's properties.
- deleteOnTermination volume property is omitted for volume at all, and
for instance bdm if Nova doesn't report it. Previously this volume
property contained 'False' only.
- DescribeVolumes isn't used in DescribeInstances (as opposed to
DescribeNetworkInterfaces), because both methods require actual state
of corresponding OS objects, so we prevent duplication of OS requests.
- Not merged Nova client is used
https://review.openstack.org/#/c/152569/
Also:
- fix multi-run instances for EC2 Classic mode
- safe getting of OS instance security groups
- ec2context module alias is renamed to ec2_context, as it is in other
code
- fakes.CinderVolume is renamed to local standard OSVolume
- fakes.OSInstance it transformed to be initialized from a dictionary,
as it is for other fakes.OSXxx objects
- fix code style
Depends-On: Icf2b9739aaf87b4c9af13ad64a310081a68f776e
Change-Id: Id65ea0f56ffd889286d5ca082e1daf2643205c52
A preparation step to get rid of Nova DB usage.
Move a function of OS admin context initialization to context module to
use it in all of API.
We're going to use this function to initialize Nova client to get
instance object with an admin account (which is the only option to get
neccessary extended instance attributes).
Change-Id: I195d899ed245ea3489c7e97b56ee6aaff9a08be2
This code introduces standalone service which proxies its calls to
existing nova EC2-API.
All the code here except for the ec2api/api/proxy.py,
ec2api/api/ec2client.py and some util functions is taken from current
nova and unused functionality is cut of it.
The proxy.py and ec2client.py files implement the new code which
proxies incoming request (on port 8788) to original EC2 API in nova
on port 8773.
The result is transparently translated back to user.
Change-Id: I4cb84f833d7d4f0e379672710ed39562811d43e0