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
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
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
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
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
This decorator is no longer supported by the Neutron Client, so we can
safely remove it.
Change-Id: Ib12f18a4430725e703c7a680324d948fee306758
Closes-Bug:1570423
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
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
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
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
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
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
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
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
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
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
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
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
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
Without instance provider of configuration, astara-ctl browse
will raise AttributeError, we should ignore it.
Change-Id: Iafb1513a0b6988aed75c06e10485cb5dae84ef04
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
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>
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
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