Skip to content

Commit

Permalink
Merge pull request #301 from CloudVE/fix_moto_instance_types
Browse files Browse the repository at this point in the history
Fix moto instance types
  • Loading branch information
nuwang committed Aug 8, 2022
2 parents b2555ff + c8a2af6 commit 4ce0d82
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 58 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ jobs:
OS_USERNAME: ${{ secrets.OS_USERNAME }}
OS_REGION_NAME: ${{ secrets.OS_REGION_NAME }}
OS_USER_DOMAIN_NAME: ${{ secrets.OS_USER_DOMAIN_NAME }}
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
CB_IMAGE_OS: ${{ secrets.CB_IMAGE_OS }}
CB_PLACEMENT_OS: ${{ secrets.CB_PLACEMENT_OS }}

Expand Down
8 changes: 4 additions & 4 deletions cloudbridge/base/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ def _provider(self):

def to_json(self):
# Get all attributes but filter methods and private/magic ones
attr = inspect.getmembers(self, lambda a: not(inspect.isroutine(a)))
js = {k: v for(k, v) in attr if not k.startswith('_')}
attr = inspect.getmembers(self, lambda a: not (inspect.isroutine(a)))
js = {k: v for (k, v) in attr if not k.startswith('_')}
return js

def __repr__(self):
Expand Down Expand Up @@ -672,8 +672,8 @@ def __eq__(self, other):
self.id == other.id)

def to_json(self):
attr = inspect.getmembers(self, lambda a: not(inspect.isroutine(a)))
js = {k: v for(k, v) in attr if not k.startswith('_')}
attr = inspect.getmembers(self, lambda a: not (inspect.isroutine(a)))
js = {k: v for (k, v) in attr if not k.startswith('_')}
js['zones'] = [z.id for z in self.zones]
return js

Expand Down
4 changes: 2 additions & 2 deletions cloudbridge/providers/gcp/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -532,8 +532,8 @@ def rules(self):
return self._rule_container

def to_json(self):
attr = inspect.getmembers(self, lambda a: not(inspect.isroutine(a)))
js = {k: v for(k, v) in attr if not k.startswith('_')}
attr = inspect.getmembers(self, lambda a: not (inspect.isroutine(a)))
js = {k: v for (k, v) in attr if not k.startswith('_')}
json_rules = [r.to_json() for r in self.rules]
js['rules'] = json_rules
return js
Expand Down
4 changes: 2 additions & 2 deletions cloudbridge/providers/openstack/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -1169,8 +1169,8 @@ def refresh(self):
self.id)

def to_json(self):
attr = inspect.getmembers(self, lambda a: not(inspect.isroutine(a)))
js = {k: v for(k, v) in attr if not k.startswith('_')}
attr = inspect.getmembers(self, lambda a: not (inspect.isroutine(a)))
js = {k: v for (k, v) in attr if not k.startswith('_')}
json_rules = [r.to_json() for r in self.rules]
js['rules'] = json_rules
return js
Expand Down
2 changes: 1 addition & 1 deletion docs/topics/object_storage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ get an object.
url = obj.generate_url(expires_in=7200)
You can also generate a signed URL with `PUT``permissions to allow users
You can also generate a signed URL with `PUT` permissions to allow users
to upload files to your storage bucket.

.. code-block:: python
Expand Down
82 changes: 43 additions & 39 deletions docs/topics/setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -298,45 +298,49 @@ GCP
OpenStack
~~~~~~~~~
+------------------------+-----------+
| Variable | Required? |
+========================+===========+
| OS_AUTH_URL ||
+------------------------+-----------+
| OS_USERNAME ||
+------------------------+-----------+
| OS_PASSWORD ||
+------------------------+-----------+
| OS_PROJECT_NAME ||
+------------------------+-----------+
| OS_REGION_NAME ||
+------------------------+-----------+
| OS_ZONE_NAME ||
+------------------------+-----------+
| OS_COMPUTE_ZONE_NAME | |
+------------------------+-----------+
| OS_NETWORKING_ZONE_NAME| |
+------------------------+-----------+
| OS_SECURITY_ZONE_NAME | |
+------------------------+-----------+
| OS_STORAGE_ZONE_NAME | |
+------------------------+-----------+
| NOVA_SERVICE_NAME | |
+------------------------+-----------+
| OS_AUTH_TOKEN | |
+------------------------+-----------+
| OS_COMPUTE_API_VERSION | |
+------------------------+-----------+
| OS_VOLUME_API_VERSION | |
+------------------------+-----------+
| OS_STORAGE_URL | |
+------------------------+-----------+
| OS_PROJECT_DOMAIN_ID | |
+------------------------+-----------+
| OS_PROJECT_DOMAIN_NAME | |
+------------------------+-----------+
| OS_USER_DOMAIN_NAME | |
+------------------------+-----------+
+----------------------------------+-----------+
| Variable | Required? |
+==================================+===========+
| OS_AUTH_URL ||
+----------------------------------+-----------+
| OS_USERNAME |? |
+----------------------------------+-----------+
| OS_PASSWORD |? |
+----------------------------------+-----------+
| OS_APPLICATION_CREDENTIAL_ID |? |
+----------------------------------+-----------+
| OS_APPLICATION_CREDENTIAL_SECRET |? |
+----------------------------------+-----------+
| OS_PROJECT_NAME ||
+----------------------------------+-----------+
| OS_REGION_NAME ||
+----------------------------------+-----------+
| OS_ZONE_NAME ||
+----------------------------------+-----------+
| OS_COMPUTE_ZONE_NAME | |
+----------------------------------+-----------+
| OS_NETWORKING_ZONE_NAME | |
+----------------------------------+-----------+
| OS_SECURITY_ZONE_NAME | |
+----------------------------------+-----------+
| OS_STORAGE_ZONE_NAME | |
+----------------------------------+-----------+
| NOVA_SERVICE_NAME | |
+----------------------------------+-----------+
| OS_AUTH_TOKEN | |
+----------------------------------+-----------+
| OS_COMPUTE_API_VERSION | |
+----------------------------------+-----------+
| OS_VOLUME_API_VERSION | |
+----------------------------------+-----------+
| OS_STORAGE_URL | |
+----------------------------------+-----------+
| OS_PROJECT_DOMAIN_ID | |
+----------------------------------+-----------+
| OS_PROJECT_DOMAIN_NAME | |
+----------------------------------+-----------+
| OS_USER_DOMAIN_NAME | |
+----------------------------------+-----------+
Once the environment variables are set, you can create a connection as follows,
replacing ``ProviderList.AWS`` with the desired provider (AZURE, GCP, or
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# needed by moto
sshpubkeys
git+https://github.com/CloudVE/moto@fix_unknown_instance_type
git+https://github.com/CloudVE/moto@resync_instance_types
-e ".[dev]"
8 changes: 4 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@
'azure-identity<2.0.0',
'azure-common<2.0.0',
'azure-mgmt-devtestlabs<10.0.0',
'azure-mgmt-resource<20.0.0',
'azure-mgmt-compute<24.0.0',
'azure-mgmt-network<20.0.0',
'azure-mgmt-storage<20.0.0',
'azure-mgmt-resource<22.0.0',
'azure-mgmt-compute<28.0.0',
'azure-mgmt-network<22.0.0',
'azure-mgmt-storage<21.0.0',
'azure-storage-blob<13.0.0',
'azure-cosmosdb-table<2.0.0',
'pysftp<1.0.0'
Expand Down
9 changes: 5 additions & 4 deletions tests/test_network_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,10 +234,11 @@ def _cleanup(net, subnet, router, gateway):
sit.check_standard_behaviour(
self, self.provider.networking.routers, router)
if (self.provider.PROVIDER_ID != 'gcp'):
self.assertEqual(
router.state, RouterState.DETACHED,
"Router {0} state {1} should be {2}.".format(
router.id, router.state, RouterState.DETACHED))
if (self.provider.PROVIDER_ID != 'mock'):
self.assertEqual(
router.state, RouterState.DETACHED,
"Router {0} state {1} should be {2}.".format(
router.id, router.state, RouterState.DETACHED))

# self.assertEqual(
# router.network_id, net.id, "Router {0} should be assoc."
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ passenv =
aws: CB_IMAGE_AWS CB_INSTANCE_TYPE_AWS CB_PLACEMENT_AWS AWS_ACCESS_KEY AWS_SECRET_KEY
azure: CB_IMAGE_AZURE AZURE_SUBSCRIPTION_ID AZURE_CLIENT_ID AZURE_SECRET AZURE_TENANT AZURE_REGION_NAME AZURE_RESOURCE_GROUP AZURE_STORAGE_ACCOUNT AZURE_VM_DEFAULT_USER_NAME AZURE_PUBLIC_KEY_STORAGE_TABLE_NAME
gcp: CB_IMAGE_GCP CB_INSTANCE_TYPE_GCP CB_PLACEMENT_GCP GCP_DEFAULT_REGION GCP_DEFAULT_ZONE GCP_PROJECT_NAME GCP_SERVICE_CREDS_FILE GCP_SERVICE_CREDS_DICT
openstack: CB_IMAGE_OS CB_INSTANCE_TYPE_OS CB_PLACEMENT_OS OS_AUTH_URL OS_PASSWORD OS_PROJECT_NAME OS_TENANT_NAME OS_USERNAME OS_REGION_NAME OS_USER_DOMAIN_NAME OS_PROJECT_DOMAIN_NAME NOVA_SERVICE_NAME
openstack: CB_IMAGE_OS CB_INSTANCE_TYPE_OS CB_PLACEMENT_OS OS_AUTH_URL OS_PASSWORD OS_PROJECT_NAME OS_TENANT_NAME OS_USERNAME OS_REGION_NAME OS_USER_DOMAIN_NAME OS_PROJECT_DOMAIN_NAME NOVA_SERVICE_NAME OS_APPLICATION_CREDENTIAL_ID OS_APPLICATION_CREDENTIAL_SECRET
mock: CB_IMAGE_AWS CB_INSTANCE_TYPE_AWS CB_PLACEMENT_AWS AWS_ACCESS_KEY AWS_SECRET_KEY
deps =
-rrequirements.txt
Expand Down

0 comments on commit 4ce0d82

Please sign in to comment.