Commit Graph

51 Commits

Author SHA1 Message Date
Andreas Jaeger 7759e2fd82 Retire astara repo
Retire repository, following
https://docs.openstack.org/infra/manual/drivers.html#retiring-a-project

Change-Id: If5f7d284bd107a93edd9272ac0ed8e6d20ba5c51
2018-10-14 12:50:35 +02:00
gengchc2 93d61f3689 Add __ne__ built-in function for astara
In Python 3 __ne__ by default delegates to __eq__ and inverts the
result,but in Python 2 they urge you to define __ne__ when you define
__eq__ for it to work properly.There are no implied relationships
among the comparison operators. The truth of x==y does not imply that
x!=y is false.Accordingly, when defining __eq__(), one should also
define __ne__() so that the operators will behave as expected.

Change-Id: I9859ad3bdf304ba87d04c9ecabf069b0fdfe4b45
2016-10-04 21:24:15 +00:00
Mark McClain 59e25b504d Make Astara Newton compatible
This change makes Astara compatible with Newton. This change adds support
for Neutron agent reporting and service providers to work with new L3
drivers.  Included in this change is a temporary filed called newton_fix.py.
This file will be removed in follow-up change after changes are migrated to
astara-neutron.

Change-Id: I5843e84e36af2e46de5b8420ca5749033c26ee69
2016-10-04 10:49:09 -04:00
Jenkins be4e3965e1 Merge "Ensure ssh key is sanitized when read from disk" 2016-04-21 21:50:39 +00:00
Adam Gandelman 158cf8d670 Ensure ssh key is sanitized when read from disk
We currently pass the ssh key read from disk straight into
cloud-init.  If it contains newlines before or after, it can
break the yaml formatting of the cloud-init causing the appliance
to fail to successfull boot.

Change-Id: I26ef83dc7b02afc5e30f09447363ee27c9dca07c
Closes-bug: #1573167
2016-04-21 11:00:14 -07:00
Adam Gandelman 64453dc26d Disable port security for mgt ports as well
In some deployments (OVS), port security must also be disabled
on the management port for communication from astara to the appliance
API.

Change-Id: I10bae7041aab7b4b143987bf07d800b3e50a6444
Closes-bug: #1573156
2016-04-21 10:21:36 -07:00
Adam Gandelman b305beacd4 Allow specification of endpoint_type to clients
We currently do not allow operators to specify which endpoint type
needs to be used to reach nova and neutron via their clients. This
adds a new option that defaults to publicURL (as it is today) but
allows operators to specify internalURL or adminURL if they need.

Change-Id: I9432b4df8a5b4fc9f0cc06e6ffb662df634ec4f8
Closes-bug: #1572693
2016-04-20 12:09:11 -07:00
Mark McClain 665f50b36d Remove APIParamsCall references
This decorator is no longer supported by the Neutron Client, so we can
safely remove it.

Change-Id: Ib12f18a4430725e703c7a680324d948fee306758
Closes-Bug:1570423
2016-04-14 10:50:41 -04:00
Jenkins 8672f2a400 Merge "Skip all types of service ports when creating allocation config" 2016-04-11 17:43:21 +00:00
Adam Gandelman 968c7da141 Skip all types of service ports when creating allocation config
When astara creates allocation config, it has always skipped
service ports (historically VRRP ports), but it currently does not
skip LB ports.  This adds some constants where we can define astara's
service port labels and expand in the future, and takes these into
account when deciding which ports to leave out of allocation config.

Change-Id: I6d815b1e7e6e24120ad7fd9becc94a216bfb625b
Closes-bug: #1567163
2016-04-07 12:33:36 -07:00
Adam Gandelman 33edf3a581 Include newly-labelled HA router interfaces in network config
Neutron very recently changed the device_owner field of router
interfaces on HA routers.  We need to account for this when
creating appliance network config, otherwise we omit HA interfaces
from its network config.

Change-Id: Ib41d4255f1ad3180c75f6e89ec6162dfdd0d2796
Closes-bug: #1567623
2016-04-07 12:31:29 -07:00
Nguyen Hung Phuong 4959d768dd Fix typos in Astara
This patch fixes typos in Astara files.

Change-Id: I1cfe3f57240a57511eaa277466cbaa7c60969bc3
2016-03-26 15:03:31 +07:00
Adam Gandelman 6613031d91 Add clustering capabilities to instance manager
This changes the instance manager to use the InstanceGroupManager
to manage clusters of instances instead of individual instances,
including clusters of 1 node for non-HA resources.

This also adds some missing documenation on enabling clustering
of the astara-orchestartor service.

Change-Id: Ib679453aafe68e6653c8c5f9f412efa72c2b7cb1
2016-03-18 14:25:51 -07:00
Jenkins 23e3607089 Merge "Adds ability to run appliance with user-specified drivers/images" 2016-03-18 20:48:30 +00:00
Adam Gandelman 2aabf4b185 Adds ability to run appliance with user-specified drivers/images
This allow users to specify the driver and image associated with
a network function.  This is dependent on the correct API extension
being loaded into neutron from the astara-neutron repo.

Depends-on: I6b6f98e8ae89c704f45b05f87f17ebed5a70fc1d

Partially-implements: blueprint astara-sfc

Co-authored by: Mark McClain <mark@mcclain.xyz>

Change-Id: I1c349e56fd23d1aa95c7f8c0da68d25246b0ceb2
2016-03-18 12:02:34 -07:00
Mark McClain d6db296c80 Add support for VPNaaS
This change adds support for VPNaaS to appliance router driver.  Since
VPNaaS is a router based service, each router driver must implement it's
own configuration rendering.

Change-Id: I2ffb8946b9c5716e398ca8a55654adfafe664889
Implements-Blueprint: neutron-vpnaas
2016-03-18 11:17:43 -07:00
vishal mahajan 1fdb2aa2cd py3.x: Use six.text_type() instead of unicode()
Python 3 doesn't support unicode(), use six.text_type instead.

Change-Id: I0f991d7b0f13bcddd65b7da68ee0965c94d2e439
2016-03-10 17:15:39 +05:30
Jenkins 060e9178e0 Merge "Remove external network hooks and auto-added resources" 2016-03-08 20:54:16 +00:00
Mark McClain f8d7a37abb Remove external network hooks and auto-added resources
Previously the orchestrator could be configured to create access to the
external network.  This combined with auto external gateway additions
would cause problems with automation tools and did not work reliably.
This change removes this functionality since it was often disabled in
production deployments. This change aslo slightly reduces devstack
runtime by removing the Neutron restart.

Change-Id: I556f1fc2729f1d62a60de24b6d5e9ed473749f9a
2016-03-07 13:15:35 -08:00
Chaozhe.Chen c4d834dbe8 Stop using WritableLogger() which is deprecated.
With Eventlet 0.17.2, we can directly pass the logger instance. This
allows us to deprecate/remove the WritableLogger class from oslo.log.

Change-Id: I7706a8e876b0446ae75e7b2573cf94ab72610696
Closes-Bug: #1524860
2016-02-23 00:35:27 +08:00
Mark McClain b236be83fc Add variable MTU support to the orchestrator.
This change add variable MTU support for each interface if the
underlying Neutron cloud supports it.

Change-Id: I52b2d95e892440afa7b941239abd44d37fc224a0
Depends-On: Ib4d4381f6977aabbeefd2f520bb5fc26ea54ffcd
Closes-Bug: #1539786
2016-02-01 13:25:54 -05:00
Jenkins 652c7e03ef Merge "Push orchestrator config into the appliance" 2016-01-25 22:38:16 +00:00
Adam Gandelman 568ea90f5a Push orchestrator config into the appliance
This pushes a couple of flags into the appliance that are specific to the
individual orchestrator instance managing that appliance. Initially, we use
it to tell the appliance where the metadata proxy is listening.  Previously,
this was hard-coded to a known address on the network.  With multiple
orchestrators in a clustered env, this will allow each to run their own
metadata proxy and have only their managed appliances querying that.

Another patch will follow that will ensure this is up to date when rebalances
occur and orchestrators take over new appliances.

Change-Id: Ib502507b29f17146da81f61f34957cd96a1548f4
Partial-bug: #1524068
2016-01-25 13:06:36 -08:00
Adam Gandelman 36ed93049b Switch instance provider init log to debug.
Change-Id: If5f6a8dbcc586f0b77b03f482caea771a77dd3e5
2016-01-25 11:27:37 -08:00
Jenkins d82458ec17 Merge "Enrich functional test suite" 2016-01-22 20:06:54 +00:00
Jenkins 75f1225e67 Merge "Remove unused logging import" 2016-01-22 19:59:57 +00:00
Jenkins cff9654112 Merge "Fix a bug for default provider and add an unittest" 2016-01-22 18:44:36 +00:00
Adam Gandelman 84b0928c4d Enrich functional test suite
This beefs up the functional test suite to do some tests on a
tenant router.  The test can now creates one-off tenants to be used
in the tests.  The new tests act entirely on behalf of the test
router and attempt on only use admin-level things when required.

Partially-Implements: blueprint ci-updates-mitaka

Change-Id: I26fa70f877522f09075dc87583f2359cc0dcaf41
2016-01-21 23:17:15 -08:00
caoyue f3729f761b Remove unused logging import
it's obviously the code was copied from other place,
let's make it perfect.

Change-Id: I2623861ba7e8cfa601d4df2d51f42ca1b805f8c2
2016-01-19 13:13:37 +08:00
Jenkins 3eab33f751 Merge "Remove unused class method" 2016-01-19 05:07:28 +00:00
Jenkins f169e294b4 Merge "trival: remove redundant code" 2016-01-19 05:07:22 +00:00
Yang Li 16e2d59b2e Fix a bug for default provider and add an unittest
Change-Id: I8cb76b2cc7dce437e9cd4944eda39be315afdc39
2016-01-19 11:55:41 +08:00
xiayu ca21f3b647 Automatically generate etc/orchestrator.ini file
This switches keystone to use oslo-config-generator, where the contents
of our sample configuration file are configured using a configuration
file in etc/oslo-config-generator.

Also fix some config problems.

blueprint autogen-astara-conf-file

Change-Id: I394805b18eecc4fbc583f9d64d34b8e95b55a845
2016-01-18 13:55:59 +08:00
Jenkins 9e2517a038 Merge "Allow API listening address to be specified in config" 2016-01-15 21:43:41 +00:00
Yang Hongyang 0259d09797 Remove unused class method
get_instance_info() is defined and used in Nova client, the one
in Instance provider is unused and makes no sence, remove it.

Change-Id: Ie62a965c61e964eee03ac4f46f1729f360106e47
2016-01-15 10:32:01 +08:00
Yang Hongyang b523ce3ee5 trival: remove redundant code
no need to set status again.

Change-Id: I19aadecda3a7fc567659a1c45941c3474562e994
2016-01-15 10:10:29 +08:00
Jenkins b2f33527b5 Merge "Log rendered cloud-init to debug log" 2016-01-14 21:44:24 +00:00
Jenkins b74714b416 Merge "Python3: replace dumps with dump_as_bytes" 2016-01-14 21:44:18 +00:00
Jenkins fed1505042 Merge "Ignore AttributeError for instance provider" 2016-01-14 19:12:14 +00:00
Adam Gandelman 1d26671b3f Allow API listening address to be specified in config
This allows users to configure a specific API listening address
for the astara administrative API.  This also updates devstack
plugin to publish this into the keystone catalog, for easier
lookup by astara-horizon.

Partially-implements: blueprint astara-horizon-mitaka
Partial-bug: #1516787

Change-Id: I2b96137c05b832a68ad01a11ec0cfb2371111c3c
2016-01-14 11:04:06 -08:00
Yang Li 292937fbef Modify xrange() to six.moves.range() for both python2 and python3
Change-Id: I6168db48a0b39cbb55599e5f4218eb1d5a351a5e
2016-01-14 20:40:23 +08:00
ting.wang e3c68c40f5 Python3: replace dumps with dump_as_bytes
Use dump_as_bytes() to ensure that the result type is bytes
on Python 2 and Python 3.
ref:
http://docs.openstack.org/developer/oslo.serialization/api.html#oslo_serialization.jsonutils.dumps

Change-Id: I40e6648d8483016a8167b04111f53eb5e7106975
2016-01-12 20:31:06 +08:00
Yang Li 9f66236808 Ignore AttributeError for instance provider
Without instance provider of configuration, astara-ctl browse
will raise AttributeError, we should ignore it.

Change-Id: Iafb1513a0b6988aed75c06e10485cb5dae84ef04
2016-01-08 10:17:17 +08:00
Adam Gandelman 1ec2760924 Log rendered cloud-init to debug log
Many users report issues ssh'ing into appliance instances.  Lets
log cloud-init to debug, allowing troubleshooters to ensure the correct ssh
key is being passed into instance.

Change-Id: I160981fa16c6532d6ad59696a1edfb97e652c528
2016-01-05 23:00:53 -08:00
Yang Li 9d2933fc00 Fix a small issue for log
Commonly we use "ip:port" to show a binding address which server
is running on, not "ip/port", a small issue.

Closes-Bug:1530262

Change-Id: I53cd55f140880bf912fe252542380623c1ff6ac7
Signed-off-by: Yang Li <yang.li@easystack.cn>
2015-12-31 14:51:16 +08:00
Jenkins 6e146f3910 Merge "Dynamically allocate service port addresses" 2015-12-18 17:41:43 +00:00
Adam Gandelman eee3aed511 Dynamically allocate service port addresses
We currently hard-code the address for management and external
ports to the first address on the subnet, which breaks clustering
astara-orchestrators when two nodes attempt to create neutron ports
with the same addresses.  This updates usage to instead rely on
a Neutron-assigned address to bring up locally.

Note this is a partial fix: we'll need corresponding changes that
allow us to push in this address to appliances for metadata access,
which is hard-coded there as well to the same address.

Change-Id: I88fa97bae84ca245afa5ad0da4ac3c0bc1c441ff
Partial-bug: #1524068
2015-12-11 16:40:23 -08:00
Mark McClain 7b5b8625b7 fix ASTARA_MANAGEMENT_PREFIX and make subnet create dynamic
Change-Id: I0c93b525d008808c9717d508b2af950ed200d278
Closes-Bug: 1525417
2015-12-11 18:25:01 -05:00
Mark McClain 881e6e15a0 Change boot command to Astara
Change-Id: I3f48059beb504ecfaa942869009bc26e82a9045b
Implements: blueprint convert-to-astara
2015-12-08 12:22:17 -08:00
Mark McClain a5ab32c80f Step 3 of module rename
In this step all of the imports and usage of akanda.rug is updated to
use astara. Addtionally rename all internal references from Akanda to
Astara.

Change-Id: I0cb8596066d949bceaadc4718b210fc373b5f296
Depends-On: I87106ae63747291bb6424839b5155f53136c54f9
Implements: blueprint convert-to-astara
2015-12-04 17:00:52 -05:00